diff --git a/src/main/java/avatartranslator/AvatarElement.java b/src/main/java/avatartranslator/AvatarElement.java
index 33d706e0aa67ab7b78f2ebbec977a01148359ed0..17f975e3f74820123aa5631c197f275c1cd41f7b 100644
--- a/src/main/java/avatartranslator/AvatarElement.java
+++ b/src/main/java/avatartranslator/AvatarElement.java
@@ -57,6 +57,7 @@ public class AvatarElement {
     protected Object referenceObject;
     protected Vector<Object> otherReferenceObjects;
     private int myID;
+    protected boolean isNew;
 
     public AvatarElement(String _name, Object _referenceObject) {
         myID=++ID;
@@ -145,4 +146,14 @@ public class AvatarElement {
     		ae.addReferenceObject(o);
     	}
     }
+
+    public boolean isNew() {
+        if (referenceObject == null) {
+            return false;
+        }
+        if (referenceObject instanceof ElementWithNew) {
+            return ((ElementWithNew)(referenceObject)).isNew();
+        }
+        return false;
+    }
 }
diff --git a/src/main/java/avatartranslator/ElementWithNew.java b/src/main/java/avatartranslator/ElementWithNew.java
new file mode 100644
index 0000000000000000000000000000000000000000..bb30fbb2c93bd24af9a4b7fce7b113e9838d44cc
--- /dev/null
+++ b/src/main/java/avatartranslator/ElementWithNew.java
@@ -0,0 +1,51 @@
+/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+ * 
+ * ludovic.apvrille AT enst.fr
+ * 
+ * This software is a computer program whose purpose is to allow the
+ * edition of TURTLE analysis, design and deployment diagrams, to
+ * allow the generation of RT-LOTOS or Java code from this diagram,
+ * and at last to allow the analysis of formal validation traces
+ * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+ * from INRIA Rhone-Alpes.
+ * 
+ * This software is governed by the CeCILL  license under French law and
+ * abiding by the rules of distribution of free software.  You can  use,
+ * modify and/ or redistribute the software under the terms of the CeCILL
+ * license as circulated by CEA, CNRS and INRIA at the following URL
+ * "http://www.cecill.info".
+ * 
+ * As a counterpart to the access to the source code and  rights to copy,
+ * modify and redistribute granted by the license, users are provided only
+ * with a limited warranty  and the software's author,  the holder of the
+ * economic rights,  and the successive licensors  have only  limited
+ * liability.
+ * 
+ * In this respect, the user's attention is drawn to the risks associated
+ * with loading,  using,  modifying and/or developing or reproducing the
+ * software by the user in light of its specific status of free software,
+ * that may mean  that it is complicated to manipulate,  and  that  also
+ * therefore means  that it is reserved for developers  and  experienced
+ * professionals having in-depth computer knowledge. Users are therefore
+ * encouraged to load and test the software's suitability as regards their
+ * requirements in conditions enabling the security of their systems and/or
+ * data to be ensured and,  more generally, to use and operate it in the
+ * same conditions as regards security.
+ * 
+ * The fact that you are presently reading this means that you have had
+ * knowledge of the CeCILL license and that you accept its terms.
+ */
+
+package avatartranslator;
+
+
+/**
+   * Class ElementWithNew
+   * Creation: 22/07/2022
+   * @version 1.0 22/07/2022
+   * @author Ludovic Apvrille
+ */
+public interface ElementWithNew {
+    public boolean isNew();
+    public void setAsNew(boolean _isNew);
+}
diff --git a/src/main/java/ui/ColorManager.java b/src/main/java/ui/ColorManager.java
index c589bad27a44272f2fed9c909aac1bd490fc760e..06eaa48cc961cf0d6b993379fa6cf5664789771f 100644
--- a/src/main/java/ui/ColorManager.java
+++ b/src/main/java/ui/ColorManager.java
@@ -76,6 +76,7 @@ public class ColorManager {
     public static Color SELECTED_ELEMENT = Color.green;
     public static final Color MOVING_0 = Color.magenta;
     public static final Color ADDING_0 = Color.lightGray;
+    public static final Color NEW = new Color(36, 104, 38, 200);
 
     //public static final Color POINTED_0 = Color.orange;
     //public static final Color POINTED_0 = new Color(231, 132, 19);
diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java
index 5421ea11bae9f4f89ee8ae34a831049d79fdccab..4381c14353ce1117a3e9a47144eb2ade318c71c8 100644
--- a/src/main/java/ui/GTURTLEModeling.java
+++ b/src/main/java/ui/GTURTLEModeling.java
@@ -7481,6 +7481,7 @@ public class GTURTLEModeling {
             boolean hidden = false;
             boolean masterMutex = false;
             boolean enable = true;
+            boolean isNewSet = false;
 
 
             for (i = 0; i < nl.getLength(); i++) {
@@ -7522,6 +7523,11 @@ public class GTURTLEModeling {
                         myValue = elt.getAttribute("value");
                     } else if (elt.getTagName().equals("custom")) {
                         customData = elt.getAttribute("data");
+                    } else if (elt.getTagName().equals("new")) {
+                        String tmpN = elt.getAttribute("d");
+                        if (tmpN.trim().toLowerCase().compareTo("true") == 0) {
+                            isNewSet = true;
+                        }
                     } else if (elt.getTagName().equals("hidden")) {
                         hidden = elt.getAttribute("value").equals("true");
                     } else if (elt.getTagName().equals("enabled")) {
@@ -7651,6 +7657,7 @@ public class GTURTLEModeling {
                 tgc.setCurrentColor(color);
             }
 
+            tgc.setAsNew(isNewSet);
 
             if (referenceId != -1) {
                 referenceId += decId;
@@ -8068,6 +8075,7 @@ public class GTURTLEModeling {
 
             boolean colorFound = false;
             int color = -1;
+            boolean isNewSet = false;
 
             for (i = 0; i < nl.getLength(); i++) {
                 n = nl.item(i);
@@ -8119,6 +8127,11 @@ public class GTURTLEModeling {
                         //TraceManager.addDev("set to true");
                         automaticDrawing = elt.getAttribute("data").compareTo("true") == 0;
                         //automaticDrawing = Boolean.getBoolean(elt.getAttribute("data"));
+                    } else if (elt.getTagName().equals("new")) {
+                        String tmpN = elt.getAttribute("d");
+                        if (tmpN.trim().toLowerCase().compareTo("true") == 0) {
+                            isNewSet = true;
+                        }
                     } else if (elt.getTagName().equals("color")) {
                         color = Integer.decode(elt.getAttribute("value"));
                         colorFound = true;
@@ -8154,6 +8167,7 @@ public class GTURTLEModeling {
 
 
             tgco.forceId(myId);
+            tgco.setAsNew(isNewSet);
 
             if ((uid != null) && (keepUUID)) {
                 tgco.forceUUID(uid);
diff --git a/src/main/java/ui/TDiagramPanel.java b/src/main/java/ui/TDiagramPanel.java
index 1150b764588b6a0c899aebc3eeb79ee88edfe15d..58f79b6c8670d5f3199b1abc4de6653eb929b4f1 100644
--- a/src/main/java/ui/TDiagramPanel.java
+++ b/src/main/java/ui/TDiagramPanel.java
@@ -133,7 +133,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
     protected int popupX, popupY;
     protected JMenuItem remove, edit, clone, bringFront, bringBack, makeSquare, setJavaCode, removeJavaCode, setInternalComment,
             removeInternalComment, attach, detach, hide, unhide, search, enableDisable, setAsCryptoBlock, setAsRegularBlock,
-            setMainColor, setDefaultColor, tosysmlv2;
+            setMainColor, setDefaultColor, tosysmlv2, setAsNew;
     protected JMenuItem checkAccessibility, checkInvariant, checkMasterMutex, checkLatency;
     protected JMenuItem gotoReference;
     protected JMenuItem showProVerifTrace;
@@ -1570,6 +1570,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         componentMenu.add(showProVerifTrace);
         componentMenu.add(checkMasterMutex);
         componentMenu.add(breakpoint);
+        componentMenu.add(setAsNew);
 
         //author: huytruong
         componentMenu.add(search);
@@ -1698,6 +1699,9 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         search = new JMenuItem("External Search");
         search.addActionListener(menuAL);
 
+        setAsNew = new JMenuItem("Set as new");
+        setAsNew.addActionListener(menuAL);
+
         // Diagram Menu
 
         paste = new JMenuItem("Paste");
@@ -2058,6 +2062,14 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         }
         //--
 
+
+        if (e.getSource() == setAsNew) {
+            setAsNew(componentPopup);
+            mgui.changeMade(this, MOVE_COMPONENT);
+            repaint();
+            return;
+        }
+
         if (e.getSource() == upX) {
             increaseDiagramWidth();
 //            maxX += increment;
@@ -2156,6 +2168,12 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         }
     }
 
+    private void setAsNew(TGComponent tgc) {
+        if (tgc != null) {
+            tgc.setAsNew(!tgc.isNew());
+        }
+    }
+
     private void setComponentPopupMenu() {
 
         //author: huytruong
diff --git a/src/main/java/ui/TGComponent.java b/src/main/java/ui/TGComponent.java
index 4d81f5da56b165c3ac9364570618b1471d1fcaec..cf3f04f41a095b1bfcc79c195dd46887d9a31356 100644
--- a/src/main/java/ui/TGComponent.java
+++ b/src/main/java/ui/TGComponent.java
@@ -40,6 +40,7 @@
 
 package ui;
 
+import avatartranslator.ElementWithNew;
 import avatartranslator.ElementWithUUID;
 import myutil.Conversion;
 import myutil.GenericTree;
@@ -78,7 +79,7 @@ import java.util.*;
  * @version 1.0 21/12/2003
  */
 
-public abstract class TGComponent  extends AbstractCDElement implements /*CDElement,*/ GenericTree, ElementWithUUID {
+public abstract class TGComponent  extends AbstractCDElement implements /*CDElement,*/ GenericTree, ElementWithUUID, ElementWithNew {
 
     protected final static String XML_HEAD = "<COMPONENT type=\"";
     protected final static String XML_ID = "\" id=\"";
@@ -195,6 +196,9 @@ public abstract class TGComponent  extends AbstractCDElement implements /*CDElem
     // internal comments
     protected String internalComment = null;
 
+    // mutations
+    protected boolean isNew = false;
+
 
     protected boolean accessibility;
     protected boolean latencyCheck;
@@ -1085,6 +1089,8 @@ public abstract class TGComponent  extends AbstractCDElement implements /*CDElem
   
         Font font = new Font(Font.SANS_SERIF, Font.PLAIN, this.tdp.getFontSize());
         g.setFont(font);
+
+
         internalDrawing(g);
         g.setFont(font);
         repaint = false;
@@ -1116,6 +1122,13 @@ public abstract class TGComponent  extends AbstractCDElement implements /*CDElem
               GraphicLib.setNormalStroke(g);*/
         }
 
+        if (isNew) {
+            Color tmp = g.getColor();
+            g.setColor(ColorManager.NEW);
+            g.drawString("N", x + 5, y - 5);
+            g.setColor(tmp);
+        }
+
         if (invariant) {
             g.setColor(ColorManager.ACCESSIBILITY);
             //GraphicLib.setMediumStroke(g);
@@ -3293,6 +3306,7 @@ public abstract class TGComponent  extends AbstractCDElement implements /*CDElem
         sb.append(translateCDRectangleParam());
         sb.append(translateNameValue());
         sb.append(translateCustomData());
+        sb.append(translateNew());
         sb.append(translateConnectingPoints());
         sb.append(translateJavaCode());
         sb.append(translateInternalComment());
@@ -3414,6 +3428,10 @@ public abstract class TGComponent  extends AbstractCDElement implements /*CDElem
         return "";
     }
 
+    protected String translateNew() {
+           return "<new d=\"" + isNew + "\" />\n";
+    }
+
     protected String translateJavaCode() {
         String s1 = translateJavaCode("prejavacode", preJavaCode);
         String s2 = translateJavaCode("postjavacode", postJavaCode);
@@ -3587,6 +3605,14 @@ public abstract class TGComponent  extends AbstractCDElement implements /*CDElem
         currentMainColor = _c;
     }
 
+    public boolean isNew() {
+        return isNew;
+    }
+
+    public void setAsNew(boolean _isNew) {
+        isNew = _isNew;
+    }
+
 
     // popup menu
 
diff --git a/src/main/java/ui/TGConnector.java b/src/main/java/ui/TGConnector.java
index 3de4e1f783eeea19f950f538de6db86bd8759d50..aa22c434f7c471ae2e380709e6379f4c44585cde 100644
--- a/src/main/java/ui/TGConnector.java
+++ b/src/main/java/ui/TGConnector.java
@@ -784,6 +784,7 @@ public abstract class TGConnector extends TGCScalableWithInternalComponent {
         sb.append(translatePoints());
         sb.append(translateColor());
         sb.append(translateAutomaticDrawing());
+        sb.append(translateNew());
         sb.append(translateExtraParam());
         sb.append(XML_CONNECTOR_TAIL);
         sb.append(translateSubComponents());