def mouseReleaseEvent(self, event):
        if self.dragging and self.mouseMoved:
            self.dragging = False
            
            # A little weird - seems to be necessary when passing mouse control from the nub to here
            self.ungrabMouse()
            
            # Hits?
            nodes = [n for n in self.scene().items(self.floatingDestinationPoint) if type(n) == DrawNode]
            if nodes:
                topHitNode = nodes[0]
                duplicatingConnection = self.sourceDrawNode().dagNode in self.scene().dag.nodeConnectionsIn(topHitNode.dagNode)
                if topHitNode is not self.sourceDrawNode() and not duplicatingConnection:
                    # Connect an edge to a node
                    preSnap = self.scene().dag.snapshot(nodeMetaDict=self.scene().nodeMetaDict(), connectionMetaDict=self.scene().connectionMetaDict())
                    
                    self.setDestDrawNode(topHitNode)
                    self.dest.addDrawEdge(self)
                    self.horizontalConnectionOffset = (event.pos() - self.mapFromItem(self.dest, 0, 0)).x()
                    self.scene().nodesConnected.emit(self.sourceDrawNode().dagNode, self.destDrawNode().dagNode)
                    self.adjust()

                    currentSnap = self.scene().dag.snapshot(nodeMetaDict=self.scene().nodeMetaDict(), connectionMetaDict=self.scene().connectionMetaDict())
                    self.scene().undoStack().push(depends_undo_commands.DagAndSceneUndoCommand(preSnap, currentSnap, self.scene().dag, self.scene()))
                    return QtGui.QGraphicsItem.mouseReleaseEvent(self, event)

            # No hits?  Delete yourself (You have no chance to win!)
            self.sourceDrawNode().removeDrawEdge(self)
            self.scene().removeItem(self)
        
        self.mouseMoved = False
        QtGui.QGraphicsItem.mouseReleaseEvent(self, event)


###############################################################################
###############################################################################
When calculating the next version to release when a release is
dataset/ETHPy150Open andrew-gardner/dependsworkflow/depends/depends_graphics_widgets.py/DrawEdge.mouseReleaseEvent--crossover with--dataset/ETHPy150Open kuri65536/python-for-android/python-modules/twisted/twisted/python/test/test_release.py/ChangeVersionTest.test_getNextVersion