Index: /java/installer2/locales/net/oni2/aeinstaller/localization/MainWin_de.properties
===================================================================
--- /java/installer2/locales/net/oni2/aeinstaller/localization/MainWin_de.properties	(revision 859)
+++ /java/installer2/locales/net/oni2/aeinstaller/localization/MainWin_de.properties	(revision 860)
@@ -75,5 +75,9 @@
 updatesNotAvailable.title=Keine Aktualisierungen verfügbar
 updatesNotAvailable.text=Es gibt zur Zeit keine Aktualisierungen für die Mods und Tools, die du heruntergeladen hast.
-checkOnStartup.text=Beim Start auf Aktualisierungen prüfen?
+checkOnStartup.text=Beim Start auf Aktualisierungen prüfen
+
+newPackages.title=Neue Pakete im Depot
+newPackages.text=Seit dem letzten Start von AEI wurden neue Pakete zum Depot hinzugefügt.<br>%1%2
+checkNewPackagesOnStartup.text=Beim Start auf neue Pakete prüfen
 
 noOniSplit.title=OniSplit nicht vorhanden
Index: /java/installer2/locales/net/oni2/aeinstaller/localization/SettingsDialog_de.properties
===================================================================
--- /java/installer2/locales/net/oni2/aeinstaller/localization/SettingsDialog_de.properties	(revision 859)
+++ /java/installer2/locales/net/oni2/aeinstaller/localization/SettingsDialog_de.properties	(revision 860)
@@ -8,4 +8,5 @@
 panCommon=Allgemein
 lblNotifyOnStart=Benachrichtige über Aktualisierungen beim Start:
+lblNotifyNewPackagesOnStart=Benachrichtige über neue Pakete beim Start:
 lblNotifyDepsAfterInstall=Benachrichtige über Abhängigkeiten nach der Installation:
 lblNotifyDepsAfterInstall.tooltip=<html>\
Index: /java/installer2/src/net/oni2/aeinstaller/backend/packages/PackageManager.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/backend/packages/PackageManager.java	(revision 859)
+++ /java/installer2/src/net/oni2/aeinstaller/backend/packages/PackageManager.java	(revision 860)
@@ -35,4 +35,7 @@
 	private Type localType = null;
 
+	private HashMap<Integer, Package> newToolsOnDepot = new HashMap<Integer, Package>();
+	private HashMap<Integer, Package> newModsOnDepot = new HashMap<Integer, Package>();
+
 	/**
 	 * @param f
@@ -87,6 +90,13 @@
 	 */
 	public void init() {
+		HashMap<Integer, Package> oldMods = mods;
+		HashMap<Integer, Package> oldTools = tools;
+
 		types = new HashMap<String, Type>();
 		mods = new HashMap<Integer, Package>();
+		tools = new HashMap<Integer, Package>();
+
+		newModsOnDepot = new HashMap<Integer, Package>();
+		newToolsOnDepot = new HashMap<Integer, Package>();
 
 		localType = new Type("-Local-");
@@ -100,8 +110,13 @@
 			if (nm.getUploads().size() == 1) {
 				Package m = new Package(nm);
-				if (nm.isTool())
+				if (nm.isTool()) {
 					tools.put(m.getPackageNumber(), m);
-				else
+					if (!oldTools.containsKey(m.getPackageNumber()))
+						newToolsOnDepot.put(m.getPackageNumber(), m);
+				} else {
 					mods.put(m.getPackageNumber(), m);
+					if (!oldMods.containsKey(m.getPackageNumber()))
+						newModsOnDepot.put(m.getPackageNumber(), m);
+				}
 			}
 		}
@@ -247,4 +262,18 @@
 		}
 		return res;
+	}
+
+	/**
+	 * @return the newToolsOnDepot
+	 */
+	public HashMap<Integer, Package> getNewToolsOnDepot() {
+		return newToolsOnDepot;
+	}
+
+	/**
+	 * @return the newModsOnDepot
+	 */
+	public HashMap<Integer, Package> getNewModsOnDepot() {
+		return newModsOnDepot;
 	}
 
Index: /java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 859)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 860)
@@ -225,10 +225,11 @@
 		}
 
+		PackageManager.loadFromCacheFile(Paths.getPacManCacheFilename());
+
 		if (hasUpdated || !Paths.getPacManCacheFilename().exists()) {
 			PackageManager.getInstance().init();
 			PackageManager.getInstance().saveToCacheFile(
 					Paths.getPacManCacheFilename());
-		} else
-			PackageManager.loadFromCacheFile(Paths.getPacManCacheFilename());
+		}
 		tblMods.reloadData();
 		initModTypeBox();
@@ -390,4 +391,67 @@
 
 	@SuppressWarnings("unused")
+	private void showNewPackages() {
+		PackageManager pm = PackageManager.getInstance();
+		if ((pm.getNewModsOnDepot().size() >= pm.getModsValidAndNotCore()
+				.size())
+				|| (pm.getNewToolsOnDepot().size() >= pm.getTools().size()))
+			return;
+		if (SettingsManager.getInstance().get("notifynewpackages", true)) {
+			if (pm.getNewModsOnDepot().size() > 0
+					|| pm.getNewToolsOnDepot().size() > 0) {
+				TreeSet<Package> mods = new TreeSet<Package>(pm
+						.getNewModsOnDepot().values());
+				TreeSet<Package> tools = new TreeSet<Package>(pm
+						.getNewToolsOnDepot().values());
+				StringBuffer modsString = new StringBuffer();
+				StringBuffer toolsString = new StringBuffer();
+				for (final Package m : mods) {
+					modsString.append("<li>" + m.getName() + "</li>");
+				}
+				for (final Package m : tools) {
+					toolsString.append("<li>" + m.getName() + "</li>");
+				}
+				// Build info dialog content
+				String message = "<html>"
+						+ bundle.getString("newPackages.text") + "</html>";
+				if (modsString.length() > 0) {
+					modsString.insert(0, "Mods:<ul>");
+					modsString.append("</ul>");
+					message = message.replaceAll("%1", modsString.toString());
+				} else {
+					message = message.replaceAll("%1", "");
+				}
+				if (toolsString.length() > 0) {
+					toolsString.insert(0, "Tools:<ul>");
+					toolsString.append("</ul>");
+					message = message.replaceAll("%2", toolsString.toString());
+				} else {
+					message = message.replaceAll("%2", "");
+				}
+
+				JPanel pan = new JPanel(new BorderLayout(0, 25));
+				JLabel lblTxt = new JLabel(message);
+				pan.add(lblTxt, BorderLayout.CENTER);
+				JCheckBox checkFutureUpdates = new JCheckBox(
+						bundle.getString("checkNewPackagesOnStartup.text"));
+				checkFutureUpdates.setSelected(SettingsManager.getInstance()
+						.get("notifynewpackages", true));
+				checkFutureUpdates.addItemListener(new ItemListener() {
+					@Override
+					public void itemStateChanged(ItemEvent evt) {
+						SettingsManager.getInstance().put("notifynewpackages",
+								evt.getStateChange() == ItemEvent.SELECTED);
+					}
+				});
+				pan.add(checkFutureUpdates, BorderLayout.SOUTH);
+
+				JOptionPane.showMessageDialog(this, pan,
+						bundle.getString("newPackages.title"),
+						JOptionPane.INFORMATION_MESSAGE);
+			}
+		}
+	}
+
+	@SuppressWarnings("unused")
 	private void focus() {
 		SwingUtilities.invokeLater(new Runnable() {
@@ -507,5 +571,5 @@
 		});
 	}
-	
+
 	@SuppressWarnings("unused")
 	private void refreshLocalMods() {
Index: /java/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml	(revision 859)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml	(revision 860)
@@ -6,5 +6,5 @@
   locationRelativeTo: null
   defaultCloseOperation: doNothingOnClose
-  onWindowOpened: [execDepotUpdate,checkCorePackages,infoCorePackages,checkInitialize,initialize,checkUpdates,doUpdate,refreshToolsMenu,focus]
+  onWindowOpened: [execDepotUpdate,checkCorePackages,infoCorePackages,checkInitialize,initialize,checkUpdates,doUpdate,refreshToolsMenu,showNewPackages,focus]
   onWindowClosing: [saveLocalData,exit]
   iconImage: img.ae
Index: /java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java	(revision 859)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java	(revision 860)
@@ -39,4 +39,5 @@
 
 	private JCheckBox chkNotifyOnStart;
+	private JCheckBox chkNotifyNewPackagesOnStart;
 	private JCheckBox chkNotifyDepsAfterInstall;
 	private JCheckBox chkCopyIntro;
@@ -81,4 +82,6 @@
 
 		chkNotifyOnStart.setSelected(set.get("notifyupdates", true));
+		chkNotifyNewPackagesOnStart.setSelected(set.get("notifynewpackages",
+				true));
 		chkNotifyDepsAfterInstall.setSelected(set.get("notifyDepsAfterInstall",
 				false));
@@ -137,4 +140,5 @@
 
 		set.put("notifyupdates", chkNotifyOnStart.isSelected());
+		set.put("notifynewpackages", chkNotifyNewPackagesOnStart.isSelected());
 		set.put("notifyDepsAfterInstall",
 				chkNotifyDepsAfterInstall.isSelected());
Index: /java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.yml
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.yml	(revision 859)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.yml	(revision 860)
@@ -12,4 +12,5 @@
     - JPanel(name=panCommon, groupTitle=panCommon):
       - JCheckBox(name=chkNotifyOnStart, horizontalTextPosition=LEADING, text=lblNotifyOnStart)
+      - JCheckBox(name=chkNotifyNewPackagesOnStart, horizontalTextPosition=LEADING, text=lblNotifyNewPackagesOnStart)
       - JCheckBox(name=chkNotifyDepsAfterInstall, horizontalTextPosition=LEADING, text=lblNotifyDepsAfterInstall, toolTipText=lblNotifyDepsAfterInstall.tooltip)
       - JCheckBox(name=chkCopyIntro, horizontalTextPosition=LEADING, text=lblCopyIntro)
@@ -17,8 +18,9 @@
       - MigLayout: |
            [grow]
-           >chkNotifyOnStart           [pref]
-           >chkNotifyDepsAfterInstall  [pref]
-           >chkCopyIntro               [pref]
-           >chkCopyOutro               [pref]
+           >chkNotifyOnStart             [pref]
+           >chkNotifyNewPackagesOnStart  [pref]
+           >chkNotifyDepsAfterInstall    [pref]
+           >chkCopyIntro                 [pref]
+           >chkCopyOutro                 [pref]
     - JPanel(name=panProxy, groupTitle=panProxy):
       - JLabel(name=empty)
Index: /java/installer2/src/net/oni2/aeinstaller/localization/MainWin.properties
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/localization/MainWin.properties	(revision 859)
+++ /java/installer2/src/net/oni2/aeinstaller/localization/MainWin.properties	(revision 860)
@@ -77,4 +77,8 @@
 checkOnStartup.text=Check for updates at startup
 
+newPackages.title=New packages on Depot
+newPackages.text=New packages were added to the Depot since last start of AEI.<br>%1%2
+checkNewPackagesOnStartup.text=Check for new packages on startup
+
 noOniSplit.title=OniSplit not available
 noOniSplit.text=The Edition is not yet initialized and OniSplit is missing (offline mode?).\nCan not resume from here, exiting!
Index: /java/installer2/src/net/oni2/aeinstaller/localization/SettingsDialog.properties
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/localization/SettingsDialog.properties	(revision 859)
+++ /java/installer2/src/net/oni2/aeinstaller/localization/SettingsDialog.properties	(revision 860)
@@ -8,4 +8,5 @@
 panCommon=Common
 lblNotifyOnStart=Notify about updates on startup:
+lblNotifyNewPackagesOnStart=Notify about new packages on startup:
 lblNotifyDepsAfterInstall=Only notify about dependencies after installation:
 lblNotifyDepsAfterInstall.tooltip=<html>\
