list nextvol job=<job-name>
    list nextvol job=<job-name> days=nnn
 
-release storage=<storage-name>
-Would need to explain what this does in bat with a dialog
-
-setdebug
-I'd say we could choose not to implement this in bat
-
 unmount [ jobid=<id> | job=<job-name> ]
 Mmmmm
 
   /* Attempted, having problems */
   Volume from Pool All Volumes from Pool
 
-use
-still need to make decisions about how to handle multiple catalogs
-
-var
-Mmmmmm
-
-version
-could be done in console as long as it is explicite about that it is the version
-of the director
-
-quit
-I'd like to have a disconnect graphical option.
-
-exit
-Not really needed
-
-wait
-Mmmmmmm
-
 CONFIG FILE
 ===========================
 add [pool=<pool-name> storage=<storage>  jobid=<JobId>]
 python
 not needed from bat??
 
+setdebug
+I'd say we could choose not to implement this in bat
+
+quit
+I'd like to have a disconnect graphical option.
+
+exit
+Not really needed
+
+use
+still need to make decisions about how to handle multiple catalogs
+
+version
+could be done in console as long as it is explicite about that it is the version
+of the director
+
+var
+Mmmmmm
+
+wait
+Mmmmmmm
+
 DONE
 ===========================
 automount on/off
 
 relabel
 
+release storage=<storage-name>
+Would need to explain what this does in bat with a dialog
+
 run
 
 reload
 
             mp_treeWidget->removeAction(actionUnMountStorage);
             mp_treeWidget->removeAction(actionUpdateSlots);
             mp_treeWidget->removeAction(actionUpdateSlotsScan);
+            mp_treeWidget->removeAction(actionRelease);
          }
       }
 
          mp_treeWidget->addAction(actionLabelStorage);
          mp_treeWidget->addAction(actionMountStorage);
          mp_treeWidget->addAction(actionUnMountStorage);
+         mp_treeWidget->addAction(actionRelease);
          QString text;
          text = "Status Storage \"" + m_currentStorage + "\"";
          actionStatusStorageInConsole->setText(text);
          actionMountStorage->setText(text);
          text = "\"UN\" Mount media in Storage \"" + m_currentStorage + "\"";
          actionUnMountStorage->setText(text);
+         text = "Release media in Storage \"" + m_currentStorage + "\"";
+         actionRelease->setText(text);
          if (m_currentAutoChanger != 0) {
             mp_treeWidget->addAction(actionUpdateSlots);
             mp_treeWidget->addAction(actionUpdateSlotsScan);
                 SLOT(consoleUpdateSlots()));
    connect(actionUpdateSlotsScan, SIGNAL(triggered()), this,
                 SLOT(consoleUpdateSlotsScan()));
+   connect(actionRelease, SIGNAL(triggered()), this,
+                SLOT(consoleRelease()));
 }
 
 /*
    cmd += m_currentStorage;
    consoleCommand(cmd);
 }
+
+/* Release a tape in the drive */
+void Storage::consoleRelease()
+{
+   QString cmd("release storage=");
+   cmd += m_currentStorage;
+   consoleCommand(cmd);
+}
 
    void consoleUnMountStorage();
    void consoleUpdateSlots();
    void consoleUpdateSlotsScan();
+   void consoleRelease();
 
 private:
    void createContextMenu();
 
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>468</width>
-    <height>311</height>
+    <width>431</width>
+    <height>296</height>
    </rect>
   </property>
   <property name="windowTitle" >
     <string>Update Slots Scan</string>
    </property>
   </action>
+  <action name="actionRelease" >
+   <property name="icon" >
+    <iconset resource="../main.qrc" >:/images/cartridge.svg</iconset>
+   </property>
+   <property name="text" >
+    <string>Release</string>
+   </property>
+  </action>
  </widget>
  <resources>
   <include location="../main.qrc" />