Skip to content

General: Roadmap & Change Logs

Nicolas Ochem edited this page Apr 4, 2015 · 6 revisions

This page describe the roadmap of the project

Version 1.0 (in progress)

  • Support Libvirt Storage API
  • Support platform-wide High Availability of VMs
  • GUI Performance Optimization
  • Code Refactoring on Agent and Client
  • [progress] Translations
  • [progress] Documentation

Betas

Beta 6.0 (Apophis)

XMPP Bus (StropheCappuccino)

NEW: Full support for websockets! (more info at https://github.com/ArchipelProject/Archipel/wiki/Using-websockets)
NEW: vCard is now a full Cappuccino object

GUI Core

!!NEW: Support for Aristo2
!!NEW: Support for Objective-J 2.0 (huge performance improvment)
!!NEW: Support for renaming virtual machines

FIX: Bug preventing to jump to a VM is a filter is set
FIX: Bug where non managed VM in state running were not reporting their names
FIX: Detect invalid JID when logging in
FIX: disable auto validation on toolbar items. (issue #602)
FIX: Do not keep stuck on disconnecting. (issue #574)
FIX: Reduce a lot of useless XMPP API class everywhere

NEW: Change the dataview selection color
NEW: Filter entities in roster using bare JID
NEW: Force 3D acceleration if available
NEW: Load vCard only for visible entity in roster (lazy loading)
NEW: New font
NEW: Remember selected tab per entity type, not per entity
NEW: Retina ready artwork
NEW: Support for disabling avatar (usefull for monster roster)
NEW: Support for setting hard coded XMPP Service URL (issue #654)
NEW: Updated roster dataviews to be smaller
NEW: Updated version of Cappuccino
NEW: Updated version of GrowlCappuccino
NEW: Updated version of LPKit
NEW: Updated version of StropheCappuccino
NEW: Updated version of TNKit
NEW: Updated version of VNCCappuccino

Agent Core

!!NEW: Offline VM migration + migration progress feedback
!!NEW: XEN Support!

FIX: Bug preventing VM to kill itself
FIX: Bug preventing VM to reconnect after a XMPP server restart. (issue #596)
FIX: Bug where state of VM was not coherent sometimes
FIX: Coherent VCARD org info over reboot
FIX: Explicitely say when trying to perform a domain operation on an undefined one. (issue #445)
FIX: Manage command not working sometimes

NEW: Cloning a VM also clones parent vCard informations
NEW: Improve the way Archipel finds its own IP if in mode auto
NEW: Only one libvirt connection is used per Agent
NEW: Support fo ping protocol extension for hypervisor/vm (issue #493)
NEW: Support for libvirt restart
NEW: Use 'unsafe' migration mode if needed

Module Controls

!!NEW: Support for live VM's CPU usage (instead of useless cpu time)

FIX: Use CPPopover instead of TNAttachedWindow. (issue #541)

NEW: Rename Destroy to Force Off (issue #627)

Module Creation

FIX: Bug causing a dead end is a managed VM have the same name than a unmanaged one
FIX: Crash when searching for vm in parking
FIX: Various bugs and optimization

NEW: Add names for unmanaged VMs (issue #641)
NEW: Button to add/jump to selected VM. (issue #487)
NEW: Internal API to propose default locality, company, owner, unit, category from other modules
NEW: Support for setting locality, company, owner, unit, category when creating a VM
NEW: vCard info of VMs can be changed
NEW: VMParking is using a shared sqlite file instead of pubsub for performance

Module Definition

FIX: Bug preventing to choose network of type 'network' from VM NIC definition
FIX: Bug reseting the domain type even when defined
FIX: Catch xml errors that strophejs may throw to avoid crash
FIX: currentMemory and memory should get changed together. (issues #591)
FIX: Define the good format for block devices (issue #380)
FIX: Definition UI not editable when VM is not defined
FIX: Disallow multiple graphic devices. (issues #189, #549)
FIX: Issue where "Huge Pages" and "Nested Virtualization" were checked
FIX: Remove tablets entry if using XEN. (issue #550)
FIX: Typo provoking crash related to setHost
FIX: Update Manual XML Editor from libvirt on call (issue #632)

NEW: Add Bootloader and Bootloader_args to UI for XEN paravirtualized guests
NEW: added QEMU command line related models (issue #531)
NEW: Basic UI for managing network backed drives (issue #424)
NEW: Code refactoring for more performances
NEW: Support for device controllers
NEW: Support for disabling USB
NEW: Support for nested virtualization
NEW: Support for virtualport in the model. (issue #551)

Module Drives

FIX: Crash when trying to delete a drive that is already attached to a vm

NEW: Default cache mode is now "default"

Module Health

FIX: Bug preventing flushing old stats records and making agent very slow to start after a while (issue #572)
FIX: Don't display duplicats in disk stats. (issue #575)

NEW: Don't show devfs and tmpfs
NEW: send VMX info (issue #416)

Module Networks

FIX: Crash when network's bridge is not set. (issue #430)
FIX: Crash when searching for networks

Module Permissions

NEW: Allow setting the same permission for multiple users. close #659
NEW: New look for permissions dataviews

Module VMParking

FIX: Random segfault and parking incoherency

NEW: Can park a VM even if running
NEW: Directly ask a vm to park itself
NEW: New parking XMPP API to create VM directly VM into parking

Module VNC

!!NEW: Support for SPICE! (issue #590)
!!NEW: Support VNC for XEN. (issue #558)

FIX: Fix a bug when using None as a certificate for websocket connection

NEW: Add FR-CH Keymap (issue #539)
NEW: Belgium keymap. (issue #532)
NEW: Better UI to explain causes of connection failure
NEW: Italian keyboard layout. (issue #498)
NEW: Update version of noVNC subsystem
NEW: VNC Screen is now centered

Module VMCasts

FIX: Do not look for snapshot when packaging and hypervisor is not QEMU. (issue #610)

NEW: Force using no cache for getting RSS feed

Module OOM

FIX: Bug when stressing OOM db

Module XMPP Server

FIX: Password sent in clear in some occasions

NEW: Enable SSL scheme for XMLRPC API

TOOLCHAIN

FIX: Bug during buildAgent -d on Debian like systems

NEW: Add an option to archipel-initinstall to force using initd even if systemd is present
NEW: Support for systemd scripts (issue #619)

Beta 5 MOON Change Log

XMPP Bus (StropheCappuccino)

FIX: Tons of bugs on managing the roster pushes
NEW: Support for Affiliations management in TNPubsub
NEW: Support for Subscription management in TNPubsub

GUI Core

FIX: Dead keyboard shortcuts
FIX: Fix crash when using CMD+SHIFT+F or using menu 'Search Entity'. (crash 74)
FIX: Improve permission center performances
FIX: Lot of work on performances improvements
FIX: Module loading procedure has been cleaned for better performances
FIX: Problems with non coherent data in roster when using drag and drop
FIX: Reduce memory footprint by mutualizing shared images
FIX: Remove all duplicate stanza sending (increase overall responsivness)
FIX: Remove dead outlets
FIX: Support for TB storage size approximation
FIX: TNModule API has been cleaned for better performances
NEW: Add contextual menu on right click from roster
NEW: Add controls to ask/remove subscription
NEW: Allow to delete several contacts and / or groups at the same time
NEW: Display commit number in status bar
NEW: Display the namespace and the action in case of error
NEW: Fancy graphical effect while module are loading
NEW: Preference to choose the default scrollers style, overlay or legacy
NEW: Toolbar module are now completely full screen (hide roster)
NEW: Updated version of Cappuccino
NEW: Updated version of GrowlCappuccino
NEW: Updated version of LPKit
NEW: Updated version of StropheCappuccino
NEW: Updated version of TNKit
NEW: Updated version of VNCCappuccino

Agent Core

FIX: Dead thread block
FIX: Do not preconfigure if archipel.conf is already existing
FIX: Hypervisor status not updated when waking up virtual machines
FIX: Monster bug in hook unregistration API
NEW: Add a new hook triggered when all plugins are loaded
NEW: archipelcore.pubsub now supports managing affiliation
NEW: archipelcore.scriptutils to provides convenient methods to scripters
NEW: buildAgent can now build RPMs with support for dependencies
NEW: buildAgent has now --livecd option to build ANSOS
NEW: buildAgent has now a log file
NEW: buildAgent has now an option --uninstall to clean everything
NEW: Dynamic admin accounts support
NEW: Only propose to manage persistent domains
NEW: Support for multiple configuration files
NEW: Support for Stateless Node mode (see ANSOS)
NEW: Support for sync adding/retracting pubsub items

Module AutoGroup

NEW: Allow auto grouping when using XML RPC API
NEW: Possible to create separate groups for hypervisors and VMs

Module Conference

FIX: Conference is now a fullscreen module
FIX: Fix a bug when double clicking on conference table. close #349, close #345, close #347

Module Controls

FIX: Better error handling
FIX: Live migration can sometimes fail for no reasons
NEW: Origin hypervisor will check some basic information about the destination to avoid failure
NEW: Support for SSH Based migration

Module Creation

FIX: Double click on VM in the list from an hypervisor selects it if already in roster. close #364
FIX: Fix crash when double clicking in an empty part of the vm table (crash #307)
FIX: Update <description/> tag when managing a virtual machine
FIX: VMs are sorted by name
NEW: Set DND status when cloning a vm

Module Definition

FIX: Improve support of Libvirt OS API in model
FIX: Use rtl8139 as default NIC model
NEW: Full support for character devices in the model
NEW: Preliminary support for using SPICE graphic devices
NEW: Support for Direct Kernel Booting in model
NEW: Support for full Libvirt Clock API in model
NEW: Support for full Libvirt Host Dev API in model
NEW: Support for HU keymap
NEW: Support for macvtap based nic
NEW: Support for per vm or per NIC bandwidth limitation
NEW: Support Libvirt Video API in model. close #406

Module Drives

NEW: Support for drives 'transient', 'shareable', 'readonly'
NEW: python-magic is now embedded right in the module to avoid building problems 

Module Health

NEW: Result of stats is now comptuped in a web worker (thread)
NEW: Display amount of shared memory
NEW: Log table is now more readable
FIX: Wrong units
FIX: Do not floor the value pushed in datasets. close #379

Module Maps

FIX: Fix a crash when map view is removed will asking for locations. #310

Module Networks

FIX: Popover is not closed when changing tab
FIX: Module not loaded if unable to find the nwfilter folder path
NEW: Support for macvtap based networks

Module Permission

NEW: Lazy loading of the XMPP users (support virtually unlimited number of accounts)

Module VMParking

NEW: It is possible to delete permanently a parked VM
NEW: It is possible to edit the XML definition of a parked VM
NEW: It is possible to park and vm's definition and upark it to the same/another hypervisor
NEW: Support for chat command 'park', 'unpark' and 'list'

Module VNC

FIX: Fix error in WebSocket proxy introduced by removing stop() method
FIX: When you stop a VM, all opened external VNC screen are also closed
NEW: Better FR layout support

Module XMPP Server

FIX: Code refactoring
NEW: Lazy loading of the XMPP users (support virtually unlimited number of accounts)
NEW: Support for lazy loading API
NEW: support for live admin account addition/deletion

Toolchain

FIX: ./buildArchipel now takes care of the new Cappuccino's bootstrap
NEW: archipel-adminaccountsnode to add/remove/list admin accounts in dedicated pubsub
NEW: archipel-command to send raw stanza to archipel entities
NEW: archipel-vmparkingnode tool to manage the VMParking
NEW: Git revision is set when building
NEW: runarchipel support for --list-modules

Beta 4 VESTA Change Log

XMPP Bus (StropheCappuccino)

FIX: Improve some APIs

GUI Core

FIX: Crash like Javascript Array (-1) out of bounds
FIX: Crash when accessing an entity in DND mode
FIX: Crash when pressing ESC from the filter field
FIX: Crash when trying to expand a contact
FIX: Drastically improve performances of Avatar manager (with a platform wide caching system)
FIX: Fix a modal conflict with preferences window
FIX: Fix all cradhes when clicking on modules' menu from main menu
FIX: Improve crash reporting allowing upper level exception catching
FIX: Improve disconnection process
FIX: Improve module loading (fix crash that can happens when using Archipel in other locale than english)
FIX: Remove all zombie popovers
NEW: Allow multiple selection in roster (and create a temporary group)
NEW: Allow to define new entity types directly in info.plist
NEW: Guess the BOSH service according to the JID when not saved
NEW: New documentation theme
NEW: New module API to allow module requesting to be visible
NEW: New shared Push Center: improve push performances by n where n is the number of loaded modules
NEW: Support for setting additional admins accounts without need to rebuild GUI
NEW: Update version of Cappuccino
NEW: Update version of TNKit

Module Controls

FIX: A bug preventing toolbar control buttons to work sometimes
NEW: Allow to disable screenshot feature in archipel.conf (to avoid a monster libvirt bug in 0.9.5, 0.9.6)

Module Creation

NEW: Support for managing/unmanaging libvirt domain (like a better archipel-importvirtual)

Module Definition

FIX: New API for determining if VM is defined or not. (do not rely on error anymore)
FIX: Wrong domain type and wrong emulator used sometimes
NEW: Allow to add up to 255 CPUs for virtual machines
NEW: Allow to see the XML description of a running virtual machine
NEW: Allow vertical scrolling for definition controls
NEW: Support for vdX buses

Module Drives

FIX: Support Debian for recognizing types of drives
NEW: Support for 'x86 boot sector' files as raw disks
NEW: Use python-magic to get the type of files

Module Health

NEW: Display the libvirt hypervisor driver version of the hypervisor
NEW: Display the libvirt version of the hypervisor

Module Networks

NEW: Manual XML editor for networks
NEW: Support for inbound/outbound bandwidth limitation
NEW: Support for using macvtap interfaces
NEW: Use out shiny model system

Module VNC

FIX: Problem with Firefox and their new websocket implementation
NEW: New version of websocket proxy
NEW: Support for enabling websocet debug mode (archipel.conf)
NEW: Support for norwegian and UK keymaps
NEW: Update noVNC

Module XMPP Server

NEW: GUI feedback for commands (success or error)

Platform request

NEW: Add explicit error if ejabberd doesn't support needed feature

Toolchain

FIX: archipel-importvirtual that doesn't generate a XMPP password
NEW: Add archipel-commandsbytags: allow to send chat commands to tagged entities

Beta 3.2 MARS Change Log

XMPP Bus (StropheCappuccino)

FIX: Handle gently the case where LPCrashReporter is active if any

GUI Core

FIX: If for some reasons Archipel is unable to parse the stored XMPP preferences, ask for reseting them instead of crashing

Virtual Machine Definition

FIX: Controls stay graphically in disabled mode
FIX: Problem drive having no sources

Virtual Machine Drives

FIX: Preventing to double click on the drives in some part of the data view

XMPPServer

FIX: Bug preventing users to be displayed if user continue to use XMLRPC API mode.

Beta 3.1 MARS Change Log

XMPP Bus (StropheCappuccino)

FIX: Bug preventing to properly decode archived objects from XMPP Storage.

GUI Core

NEW: Some new handy developer methods in TNModule.

Virtual Machine Definition

FIX: Crash occurring when trying to add a drive in some occasions

Virtual Machine Drives

FIX: Crash occurring when trying to create a drive in some occasions

Virtual Machine VNC

NEW: Gently warn about web socket problem instead of crashing

XMPPServer

NEW: ejabberd-xmlrpc is no longer required.
NEW: It is possible to continue to use ejabberd-xmlrpc to get shared roster group working (temporary)
NEW: Add a preference to use or not the GUI for SRG.

Beta 3 MARS Change Log

XMPP Bus (StropheCappuccino)

FIX: Bug preventing to properly disconnect
FIX: Memory leak with handler registrar
FIX: Timer in Strophe.js never stopped even when disconnected
NEW: New API to allow to change current user password

Agent

FIX: Registering for a hook method that doesn't exist don't make agent crash
NEW: Add conf token for setting a custom migration URI
NEW: Add conf token for vCard informations
NEW: Add conf token for xmpppy_debug
NEW: Add conf token to prevent using block device
NEW: Allow to store permission file to a custom directory
NEW: Improve 501 error logging
NEW: Update the websocket proxy for noVNC

GUI Core

FIX: Bug preventing to remove user in some case
FIX: Update performances of roster retrieval
NEW: Add history for Growl notifications
NEW: Add preference to deactivate the XMPP traffic LEDs
NEW: Add preference to hide offline contacts
NEW: Add vCard information in property view
NEW: All creation/edition/addition window are now CPPopovers (soon merged in Cappuccino)
NEW: Allow users to change their XMPP password from the GUI
NEW: Autorize more than one admin account in GUI plist
NEW: Drastically lower code size using Xcode
NEW: French translation (still in progress)
NEW: German translation (still in progress)
NEW: Hint window appear when your roster is empty to guide beginner
NEW: Improve 501 error logging
NEW: Localization support!
NEW: Module loading revamped (user experience boosted)
NEW: Preference window is now a sheet
NEW: Rewrite all GUI files from cib (Atlas) to xib (Xcode)
NEW: Support for module with Type "General" that are loaded when no entity is selected
NEW: Tons of GUI updates
NEW: Usage of Mac OS X Lion-like scroll views
NEW: Use TNSwipeView for the property view
NEW: Use TNTabView instead of iTunesTabView
NEW: Visual feedback on module status

Hypervisor Health

FIX: Performance improvments
NEW: Support for network usage
NEW: Use CPLevelIndicator for disks usage

Hypervisor Networks

FIX: Define network only when save clicked
FIX: Do not set <ip> when no IP and no netmask is given 
NEW: Great new UI that displays all network information in the table
NEW: Support for Autostart networks

Hypervisor VM Creation

NEW: Allow to set a custom name for clones

Virtual Machine Appliances

FIX: improve error handling when packaging/unpackaging
NEW: Support for chat commands
NEW: Support for not gzipped xvm2

Virtual Machine Controls

NEW: Display a full size screenshot of the virtual machine screen (needs libvirt >= 0.9.1)
NEW: Display a tumbnail screenshot of the virtual machine screen (needs libvirt >= 0.9.1)

Virtual Machine Definition

FIX: Using Archipel to redefine domains with custom XML token doesn't remove them
NEW: GUI optimized
NEW: Set custom IP/Port for VNC
NEW: Support for Block I/O tunning
NEW: Support for deactivating VNC
NEW: Support for libvirt network filter
NEW: Support for Memory tuning
NEW: Total rewrote of the module. Usaing a robust model
NEW: Do not use masking view when VM is running. Just make controls disabled

Virtual Machine Drives

NEW: Improve GUI
NEW: Support for using golden QCOW2 drives

Virtual Machine VNC

FIX: Improve the push system
FIX: Memory leak with Safari on Lion
FIX: Problem with frame buffer messed up sometimes

Scheduler

FIX: Do not crash if retoring a job with past execution time
FIX: Support for APScheduler 1 and 2

User Chat

NEW: new sound for in and out messages
NEW: Revamped messageboard

Toolchain

NEW: add a pull.sh script that update Archipel repo and all submodules
NEW: add archipel-testxmppserver to ensure ejabberd server configuration is OK
NEW: add localize.py that allows to make differencial localization sync

Beta 2 JUPITER Change Log

XMPP:

NEW: support for managing XMPP accounts
NEW: support for nested groups
NEW: support for putting entities in several groups
NEW: support for roster pushes
NEW: support for shared roster groups
NEW: use the Cappuccino runloop in strophejs

Agent:

FIX: avoid virtual machine name collision
FIX: better startup error catching
FIX: cloning
FIX: logged information improved
FIX: no more usage of os.system
FIX: remove the old perform_action_on_auth system. use hooks
NEW: add module loading policy configuration
NEW: Archipel Core is now totally externalized
NEW: avatars are not sometimes reset when agent is restarted
NEW: enable usage of easy_install developer installation
NEW: full rewrite of the plugin loading system
NEW: Libvirt: preliminary support for libvirt authentication
NEW: Libvirt: preliminary support for VMWare (bugged due to libvirt)
NEW: Libvirt: preliminary support for Xen (bugged due to libvirt)
NEW: multi Archipel account setting support
NEW: packaged using python eggs
NEW: runarchipel -v displays all the versions of plugins

Client:

FIX: complete responder chains
FIX: loading module drastically improved (sequential loading)
NEW: add classes that handles localization
NEW: add visual feedback on modules to tell when needed data have been fetched
NEW: configuration of GUI is now stored in the user's XMPP private storage
NEW: localization of the logging window (as example)
NEW: Module API: support for avoiding hiding modules (not saved stuff or something)
NEW: Module API: support for FullScreenMode
NEW: Module API: support for tooltips in toolbar modules
NEW: modules starts to load in paralels with XMPP connection (divide by 3 the waiting time)
NEW: usage of tooltips on all controls
NEW: tabs in iTunesTabView are now scrollable if needed

VNC:

FIX: vnc events are pushed from the agents
NEW: external VNC window autoresize itself according to the remote display
NEW: external VNC window has now a toolbar with controls
NEW: external VNC window support zooming
NEW: support for DE keymap
NEW: support for fullscreen of VNC view (needs really recent webkit version)

Chat:

NEW: greatly improve vocabulary of entities (almost all actions can be done using chat)
NEW: rewrite the TNMessageBoard to use sexy bubbles and usage of variable row height CPTableView
NEW: support for external chat window

Controls:

NEW: add visual feedback when live adjusting memory
NEW: allow to destroy a virtual machine from the controls module

Definition:

FIX: when adding a new drive or nic, open the editor panel
NEW: add preferences for every type of informations in the definition
NEW: handle hypervisor with no capabilities
NEW: improve drive type detection
NEW: rewrite of the capabilities handling
NEW: rewrite of the GUI
NEW: support for drive cache mode

Drives:

FIX: converting drives updates the definition if they are attached
FIX: path to qemu-img is now configurable
NEW: support for non sparse drives in qcow2 format

VMCast:

FIX: tons of small bugs
NEW: use progress bar to display download status

Health:

FIX: color chars in log are stripped
FIX: more accurate memory usage informations
FIX: never ask stats in parallel
FIX: partitions with size < 1GB are now display in MB or KB
FIX: stop asking stats if entity goes offline
FIX: use minimal value as stats fetching interval
NEW: display all partitions and their usage instead of just the total
NEW: drastically improve performances
NEW: support for network usage statistics

Cloud:

NEW: support for computing platform to generate score to decide to hanle a platform request or not (need ejabberd patch https://support.process-one.net/browse/EJAB-1347)
NEW: support for platform request (need ejabberd patch https://support.process-one.net/browse/EJAB-1347)

Permissions:

NEW: display all servers users in a nice outline view
NEW: drop SQLObject, use SQLAlchemy
NEW: rewrite the GUI

Geolocalization

FIX: pass in manual mode automatically if unable to connect to ip location service

Migration:

FIX: use the ipaddr/hostname instead of resource for sending libvirt_uri

Networking:

NEW: isolated mode
NEW: forward the real list of hypervisors NICs

Snapshot:

NEW: it is now possible to use snapshoting features on a shutdowned virtual machine

Groups:

NEW: GroupManagement module displays VMs of itself and all of its sub group hierarchy
NEW: Support for grouped live migration

Beta 1 SATURN

First Public Release

Clone this wiki locally