Merge branch 'develop'
diff --git a/config.json b/config.json
index dba2e81..feda1f0 100644
--- a/config.json
+++ b/config.json
@@ -1,6 +1,6 @@
 {
  "app_name": "ERPNext", 
- "app_version": "3.8.3", 
+ "app_version": "3.8.4", 
  "base_template": "app/portal/templates/base.html", 
  "modules": {
   "Accounts": {
@@ -74,5 +74,5 @@
    "type": "module"
   }
  }, 
- "requires_framework_version": "==3.9.2"
+ "requires_framework_version": "==3.9.3"
 }
\ No newline at end of file
diff --git a/stock/doctype/serial_no/serial_no.py b/stock/doctype/serial_no/serial_no.py
index 57b3b46..1cb4eee 100644
--- a/stock/doctype/serial_no/serial_no.py
+++ b/stock/doctype/serial_no/serial_no.py
@@ -213,6 +213,10 @@
 			if len(serial_nos) and len(serial_nos) != abs(cint(sle.actual_qty)):
 				webnotes.throw(_("Serial Nos do not match with qty") + \
 					(": %s (%s)" % (sle.item_code, sle.actual_qty)), SerialNoQtyError)
+					
+			if len(serial_nos) != len(set(serial_nos)):
+				webnotes.throw(_("Duplicate Serial No entered against item") + 
+					(": %s" % sle.item_code), SerialNoDuplicateError)
 			
 			for serial_no in serial_nos:
 				if webnotes.conn.exists("Serial No", serial_no):
diff --git a/support/doctype/support_ticket/support_ticket.py b/support/doctype/support_ticket/support_ticket.py
index 3030a14..b31f883 100644
--- a/support/doctype/support_ticket/support_ticket.py
+++ b/support/doctype/support_ticket/support_ticket.py
@@ -49,10 +49,6 @@
 				self.doc.company = webnotes.conn.get_value("Lead", self.doc.lead, "company") or \
 					webnotes.conn.get_default("company")
 
-	def on_trash(self):
-		webnotes.conn.sql("""update `tabCommunication` set support_ticket=NULL 
-			where support_ticket=%s""", (self.doc.name,))
-
 	def update_status(self):
 		status = webnotes.conn.get_value("Support Ticket", self.doc.name, "status")
 		if self.doc.status!="Open" and status =="Open" and not self.doc.first_responded_on: