diff --git a/Core/manifest.mf b/Core/manifest.mf index c93cac723e..c38806aaa0 100644 --- a/Core/manifest.mf +++ b/Core/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.sleuthkit.autopsy.core/10 OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/core/Bundle.properties OpenIDE-Module-Layer: org/sleuthkit/autopsy/core/layer.xml -OpenIDE-Module-Implementation-Version: 18 +OpenIDE-Module-Implementation-Version: 19 OpenIDE-Module-Requires: org.openide.windows.WindowManager AutoUpdate-Show-In-Client: true AutoUpdate-Essential-Module: true diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java index b12f0b7597..df80cf017f 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java @@ -140,11 +140,28 @@ public class Case { private volatile ExecutorService caseLockingExecutor; private CoordinationService.Lock caseDirLock; private SleuthkitCase caseDb; - private SleuthkitErrorReporter sleuthkitErrorReporter; private CollaborationMonitor collaborationMonitor; private Services caseServices; private boolean hasDataSources; + /* + * Get a reference to the main window of the desktop application to use to + * parent pop up dialogs and initialize the application name for use in + * changing the main window title. + * + * TODO (JIRA-2231): Make the application name a RuntimeProperties item set + * by Installers. + */ + static { + WindowManager.getDefault().invokeWhenUIReady(new Runnable() { + @Override + public void run() { + mainFrame = WindowManager.getDefault().getMainWindow(); + appName = mainFrame.getTitle(); + } + }); + } + /** * An enumeration of case types. */ @@ -474,8 +491,8 @@ public class Case { throw new CaseActionException(Bundle.Case_exceptionMessage_failedToReadMetadata(), ex); } if (CaseType.MULTI_USER_CASE == metadata.getCaseType() && !UserPreferences.getIsMultiUserModeEnabled()) { - throw new CaseActionException(Bundle.Case_exceptionMessage_cannotOpenMultiUserCaseNoSettings()); - } + throw new CaseActionException(Bundle.Case_exceptionMessage_cannotOpenMultiUserCaseNoSettings()); + } openAsCurrentCase(new Case(metadata), false); } @@ -634,28 +651,6 @@ public class Case { "Case.exceptionMessage.cannotLocateMainWindow=Cannot locate main application window" }) private static void openAsCurrentCase(Case newCurrentCase, boolean isNewCase) throws CaseActionException, CaseActionCancelledException { - if (RuntimeProperties.runningWithGUI() && null == mainFrame) { - /* - * Get a reference to the main window of the desktop application to - * use to parent pop up dialogs and initialize the application name - * for use in changing the main window title. This is tricky and - * fragile. The application name aspect can be resolved thus: - * - * TODO (JIRA-2231): Make the application name a RuntimeProperties - * item set by Installers. - * - * And the getting of the main frame should be resolved when the - * code is refactored to separate the presentation layer fomr the - * business layer. - * - * TODO (JIRA-multiple): Make it possible to run "headless." - */ - assert (!SwingUtilities.isEventDispatchThread()); - SwingUtilities.invokeLater(() -> { - mainFrame = WindowManager.getDefault().getMainWindow(); - appName = mainFrame.getTitle(); - }); - } synchronized (caseActionSerializationLock) { if (null != currentCase) { try { @@ -1815,7 +1810,6 @@ public class Case { */ @Messages({ "Case.progressMessage.switchingLogDirectory=Switching log directory...", - "Case.progressMessage.settingUpTskErrorReporting=Setting up SleuthKit error reporting...", "Case.progressMessage.clearingTempDirectory=Clearing case temp directory...", "Case.progressMessage.openingCaseLevelServices=Opening case-level services...", "Case.progressMessage.openingApplicationServiceResources=Opening application service case resources...", @@ -1831,18 +1825,6 @@ public class Case { throw new CaseActionCancelledException(Bundle.Case_exceptionMessage_cancelledByUser()); } - /* - * Hook up a SleuthKit layer error reporter. - */ - progressIndicator.progress(Bundle.Case_progressMessage_settingUpTskErrorReporting()); - sleuthkitErrorReporter - = new SleuthkitErrorReporter(MIN_SECS_BETWEEN_TSK_ERROR_REPORTS, NbBundle.getMessage(Case.class, - "IntervalErrorReport.ErrorText")); - caseDb.addErrorObserver(this.sleuthkitErrorReporter); - if (Thread.currentThread().isInterrupted()) { - throw new CaseActionCancelledException(Bundle.Case_exceptionMessage_cancelledByUser()); - } - /* * Clear the temp subdirectory of the case directory. */ @@ -2077,8 +2059,8 @@ public class Case { "Case.progressMessage.shuttingDownNetworkCommunications=Shutting down network communications...", "Case.progressMessage.closingApplicationServiceResources=Closing case-specific application service resources...", "Case.progressMessage.closingCaseLevelServices=Closing case-level services...", - "Case.progressMessage.closingCaseDatabase=Closing case database...", - "Case.progressMessage.shuttingDownTskErrorReporting=Shutting down SleuthKit error reporting..."}) + "Case.progressMessage.closingCaseDatabase=Closing case database..." + }) private void close(ProgressIndicator progressIndicator) { IngestManager.getInstance().cancelAllIngestJobs(IngestJob.CancellationReason.CASE_CLOSED); @@ -2119,10 +2101,6 @@ public class Case { if (null != caseDb) { progressIndicator.progress(Bundle.Case_progressMessage_closingCaseDatabase()); caseDb.close(); - if (null != sleuthkitErrorReporter) { - progressIndicator.progress(Bundle.Case_progressMessage_shuttingDownTskErrorReporting()); - caseDb.removeErrorObserver(sleuthkitErrorReporter); - } } /* @@ -2391,6 +2369,17 @@ public class Case { } + /** + * Gets the application name. + * + * @return The application name. + * @deprecated + */ + @Deprecated + public static String getAppName() { + return appName; + } + /** * Creates a new, single-user Autopsy case. * @@ -2632,16 +2621,4 @@ public class Case { deleteReports(reports); } - /** - * Sets the name of the keyword search index for the case. - * - * @param textIndexName The text index name. - * - * @throws CaseMetadataException - * @deprecated Do not use. - */ - @Deprecated - public void setTextIndexName(String textIndexName) throws CaseMetadataException { - } - } diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/SleuthkitErrorReporter.java b/Core/src/org/sleuthkit/autopsy/casemodule/SleuthkitErrorReporter.java deleted file mode 100644 index 15deff10d6..0000000000 --- a/Core/src/org/sleuthkit/autopsy/casemodule/SleuthkitErrorReporter.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Autopsy Forensic Browser - * - * Copyright 2011-2017 Basis Technology Corp. - * Contact: carrier sleuthkit org - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.sleuthkit.autopsy.casemodule; - -import java.util.logging.Level; -import org.openide.util.NbBundle; -import org.sleuthkit.autopsy.coreutils.Logger; -import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil; -import org.sleuthkit.datamodel.SleuthkitCase; - -/** - * Acts as a bridge between the Sleuthkit Java bindings classes and Autopsy by - * implementing the SleuthkitCase$ErrorObserver interface. All errors are - * written to the Autopsy logs. If a GUI is running, errors are also batched up - * and reported periodically to the user via the notification area in the lower - * right hand corner of the main application window. - */ -class SleuthkitErrorReporter implements SleuthkitCase.ErrorObserver { - - private static final Logger LOGGER = Logger.getLogger(SleuthkitErrorReporter.class.getName()); - private final int milliSecondsBetweenReports; - private final String message; - private long newProblems; - private long totalProblems; - private long lastReportedDate; - - /** - * Create a new IntervalErrorReprotData instance and subscribe for TSK error - * notifications for the current case. - * - * @param secondsBetweenReports Minimum number of seconds between reports. - * It will not warn more frequently than this. - * @param message The message that will be shown when warning - * the user. - */ - SleuthkitErrorReporter(int secondsBetweenReports, String message) { - this.newProblems = 0; - this.totalProblems = 0; - this.lastReportedDate = 0; // arm the first warning by choosing zero - this.milliSecondsBetweenReports = secondsBetweenReports * 1000; // convert to milliseconds - this.message = message; - } - - /** - * Call this to add problems to the class. When the time threshold is met - * (or if this is the first problem encountered), a warning will be shown to - * the user. - * - * @param context The context in which the error occurred. - * @param errorMessage A description of the error that occurred. - */ - @Override - public void receiveError(String context, String errorMessage) { - LOGGER.log(Level.SEVERE, String.format("%s error in the SleuthKit layer: %s", context, errorMessage)); - this.newProblems += 1; - this.totalProblems += newProblems; - long currentTimeStamp = System.currentTimeMillis(); - if ((currentTimeStamp - lastReportedDate) > milliSecondsBetweenReports) { - this.lastReportedDate = currentTimeStamp; - MessageNotifyUtil.Notify.error(message, context + ", " + errorMessage + " " - + this.newProblems + " " - + NbBundle.getMessage(SleuthkitErrorReporter.class, "IntervalErrorReport.NewIssues") - + " " + this.totalProblems + " " - + NbBundle.getMessage(SleuthkitErrorReporter.class, "IntervalErrorReport.TotalIssues") - + "."); - this.newProblems = 0; - } - } -} diff --git a/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java b/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java index 543318e710..0599891da6 100755 --- a/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java +++ b/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java @@ -64,7 +64,6 @@ public final class UserPreferences { private static final String MESSAGE_SERVICE_PORT = "MessageServicePort"; //NON-NLS public static final String PROCESS_TIME_OUT_ENABLED = "ProcessTimeOutEnabled"; //NON-NLS public static final String PROCESS_TIME_OUT_HOURS = "ProcessTimeOutHours"; //NON-NLS - public static final String AGENCY_LOGO_IMAGE_PATH = "AgencyLogoImagePath"; //NON-NLS private static final int DEFAULT_PROCESS_TIMEOUT_HR = 60; private static final String DEFAULT_PORT_STRING = "61616"; private static final int DEFAULT_PORT_INT = 61616; diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties index 14b3c47fa7..35576499d5 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties @@ -27,7 +27,7 @@ Format_OperatingSystem_Value={0} version {1} running on {2} LBL_Copyright=
Autopsy™ is a digital forensics platform based on The Sleuth Kit™ and other tools.
Copyright © 2003-2017.
URL_ON_IMG=http://www.sleuthkit.org/ -URL_ON_HELP=http://sleuthkit.org/autopsy/docs/user-docs/4.3/ +URL_ON_HELP=http://sleuthkit.org/autopsy/docs/user-docs/4.4/ FILE_FOR_LOCAL_HELP=file:/// INDEX_FOR_LOCAL_HELP=/docs/index.html diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/ImageUtils.java b/Core/src/org/sleuthkit/autopsy/coreutils/ImageUtils.java index 19933f8247..25ee380a7e 100755 --- a/Core/src/org/sleuthkit/autopsy/coreutils/ImageUtils.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/ImageUtils.java @@ -138,7 +138,7 @@ public class ImageUtils { SUPPORTED_IMAGE_EXTENSIONS.addAll(Arrays.asList(ImageIO.getReaderFileSuffixes())); SUPPORTED_IMAGE_EXTENSIONS.add("tec"); // Add JFIF .tec files SUPPORTED_IMAGE_EXTENSIONS.removeIf("db"::equals); // remove db files - + SUPPORTED_IMAGE_MIME_TYPES = new TreeSet<>(Arrays.asList(ImageIO.getReaderMIMETypes())); /* * special cases and variants that we support, but don't get registered @@ -213,7 +213,7 @@ public class ImageUtils { * @param file the AbstractFile to test * * @return true if the file is an image we can read and generate thumbnail - * for. + * for. */ public static boolean isImageThumbnailSupported(AbstractFile file) { return isMediaThumbnailSupported(file, "image/", SUPPORTED_IMAGE_MIME_TYPES, SUPPORTED_IMAGE_EXTENSIONS) || hasImageFileHeader(file);//NON-NLS @@ -239,17 +239,16 @@ public class ImageUtils { * VideoUtils both implement/extend some base interface/abstract class. That * would be the natural place to put this. * - * @param file the AbstractFile to test - * @param mimeTypePrefix a MIME 'top-level type name' such as "image/", - * including the "/". In addition to the list of - * supported MIME types, any type that starts with - * this prefix will be regarded as supported + * @param file the AbstractFile to test + * @param mimeTypePrefix a MIME 'top-level type name' such as "image/", + * including the "/". In addition to the list of supported MIME types, any + * type that starts with this prefix will be regarded as supported * @param supportedMimeTypes a collection of mimetypes that are supported * @param supportedExtension a collection of extensions that are supported * * @return true if a thumbnail can be generated for the given file based on - * the given MIME type prefix and lists of supported MIME types and - * extensions + * the given MIME type prefix and lists of supported MIME types and + * extensions */ static boolean isMediaThumbnailSupported(AbstractFile file, String mimeTypePrefix, final Collection supportedMimeTypes, final List supportedExtension) { if (false == file.isFile() || file.getSize() <= 0) { @@ -283,7 +282,7 @@ public class ImageUtils { * @return a FileTypeDetector * * @throws FileTypeDetectorInitException if initializing the - * FileTypeDetector failed. + * FileTypeDetector failed. */ synchronized private static FileTypeDetector getFileTypeDetector() throws FileTypeDetector.FileTypeDetectorInitException { if (fileTypeDetector == null) { @@ -296,11 +295,11 @@ public class ImageUtils { * Get a thumbnail of a specified size for the given image. Generates the * thumbnail if it is not already cached. * - * @param content the content to generate a thumbnail for + * @param content the content to generate a thumbnail for * @param iconSize the size (one side of a square) in pixels to generate * * @return A thumbnail for the given image or a default one if there was a - * problem making a thumbnail. + * problem making a thumbnail. */ public static BufferedImage getThumbnail(Content content, int iconSize) { if (content instanceof AbstractFile) { @@ -339,7 +338,7 @@ public class ImageUtils { * @param file The AbstractFile to get a stream for. * * @return A BufferedInputStream wrapped around a ReadContentStream for the - * given AbstractFile + * given AbstractFile */ private static BufferedInputStream getBufferedReadContentStream(AbstractFile file) { return new BufferedInputStream(new ReadContentInputStream(file)); @@ -349,11 +348,11 @@ public class ImageUtils { * Get a thumbnail of a specified size for the given image. Generates the * thumbnail if it is not already cached. * - * @param content the content to generate a thumbnail for + * @param content the content to generate a thumbnail for * @param iconSize the size (one side of a square) in pixels to generate * * @return File object for cached image. Is guaranteed to exist, as long as - * there was not an error generating or saving the thumbnail. + * there was not an error generating or saving the thumbnail. */ @Nullable public static File getCachedThumbnailFile(Content content, int iconSize) { @@ -368,8 +367,8 @@ public class ImageUtils { * @param fileID the fileID to get the cached thumbnail location for * * @return A File object representing the location of the cached thumbnail. - * This file may not actually exist(yet). Returns null if there was - * any problem getting the file, such as no case was open. + * This file may not actually exist(yet). Returns null if there was any + * problem getting the file, such as no case was open. */ private static File getCachedThumbnailLocation(long fileID) { return cacheFileMap.computeIfAbsent(fileID, id -> { @@ -427,7 +426,7 @@ public class ImageUtils { * @param file the AbstractFile to parse * * @return Offset of first Start Of Image marker, or 0 if none found. This - * will let ImageIO try to open it from offset 0. + * will let ImageIO try to open it from offset 0. */ private static long getJfifStartOfImageOffset(AbstractFile file) { byte[] fileHeaderBuffer; @@ -507,7 +506,7 @@ public class ImageUtils { * @return the width in pixels * * @throws IOException If the file is not a supported image or the width - * could not be determined. + * could not be determined. */ static public int getImageWidth(AbstractFile file) throws IOException { return getImageProperty(file, @@ -524,7 +523,7 @@ public class ImageUtils { * @return the height in pixels * * @throws IOException If the file is not a supported image or the height - * could not be determined. + * could not be determined. */ static public int getImageHeight(AbstractFile file) throws IOException { return getImageProperty(file, @@ -537,8 +536,8 @@ public class ImageUtils { /** * Functional interface for methods that extract a property out of an * ImageReader. Initially created to abstract over - * {@link #getImageHeight(org.sleuthkit.datamodel.AbstractFile)} and - * {@link #getImageWidth(org.sleuthkit.datamodel.AbstractFile)} + * getImageHeight(org.sleuthkit.datamodel.AbstractFile) and + * getImageWidth(org.sleuthkit.datamodel.AbstractFile) * * @param The type of the property. */ @@ -553,18 +552,17 @@ public class ImageUtils { * public methods that pull particular (usually meta-)data out of a image * file. * - * @param file the file to extract the data from - * @param errorTemplate a message template used to log errors. Should - * take one parameter: the file's unique path or - * name. + * @param file the file to extract the data from + * @param errorTemplate a message template used to log errors. Should take + * one parameter: the file's unique path or name. * @param propertyExtractor an implementation of {@link PropertyExtractor} - * used to retrieve the specific property. + * used to retrieve the specific property. * * @return the the value of the property extracted by the given - * propertyExtractor + * propertyExtractor * * @throws IOException if there was a problem reading the property from the - * file. + * file. * * @see PropertyExtractor * @see #getImageHeight(org.sleuthkit.datamodel.AbstractFile) @@ -608,8 +606,8 @@ public class ImageUtils { * but is not started automatically. Clients are responsible for running the * task, monitoring its progress, and using its result. * - * @param file The file to create a thumbnail for. - * @param iconSize The size of the thumbnail. + * @param file The file to create a thumbnail for. + * @param iconSize The size of the thumbnail. * @param defaultOnFailure Whether or not to default on failure. * * @return a new Task that returns a thumbnail as its result. @@ -978,10 +976,10 @@ public class ImageUtils { * @param iconSize * * @return a thumbnail for the given image or a default one if there was a - * problem making a thumbnail. + * problem making a thumbnail. * - * @deprecated use {@link #getThumbnail(org.sleuthkit.datamodel.Content, int) - * } instead. + * @deprecated use getThumbnail(org.sleuthkit.datamodel.Content, int) + * instead. */ @Nonnull @Deprecated @@ -997,10 +995,10 @@ public class ImageUtils { * @param iconSize * * @return File object for cached image. Is guaranteed to exist, as long as - * there was not an error generating or saving the thumbnail. + * there was not an error generating or saving the thumbnail. * - * @deprecated use {@link #getCachedThumbnailFile(org.sleuthkit.datamodel.Content, int) - * } instead. + * @deprecated use getCachedThumbnailFile(org.sleuthkit.datamodel.Content, + * int) instead. * */ @Nullable diff --git a/Experimental/manifest.mf b/Experimental/manifest.mf index 80010b9686..75f8aa63f5 100644 --- a/Experimental/manifest.mf +++ b/Experimental/manifest.mf @@ -1,6 +1,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true -OpenIDE-Module: org.sleuthkit.autopsy.experimental +OpenIDE-Module: org.sleuthkit.autopsy.experimental/10 +OpenIDE-Module-Implementation-Version: 2 OpenIDE-Module-Layer: org/sleuthkit/autopsy/experimental/autoingest/layer.xml OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties OpenIDE-Module-Specification-Version: 1.0 diff --git a/ImageGallery/manifest.mf b/ImageGallery/manifest.mf index 79c24ee687..9e4c8299d4 100644 --- a/ImageGallery/manifest.mf +++ b/ImageGallery/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.sleuthkit.autopsy.imagegallery/2 -OpenIDE-Module-Implementation-Version: 2 +OpenIDE-Module-Implementation-Version: 3 OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/imagegallery/Bundle.properties diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/OpenHelpAction.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/OpenHelpAction.java index 8aab0ba937..44dc156fde 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/OpenHelpAction.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/OpenHelpAction.java @@ -44,7 +44,7 @@ public final class OpenHelpAction implements ActionListener { @Override public void actionPerformed(ActionEvent e) { try { - Desktop.getDesktop().browse(URI.create("http://sleuthkit.org/autopsy/docs/user-docs/4.3/image_gallery_page.html")); //NON-NLS + Desktop.getDesktop().browse(URI.create("http://sleuthkit.org/autopsy/docs/user-docs/4.4/image_gallery_page.html")); //NON-NLS } catch (IOException ex) { Logger.getLogger(OpenHelpAction.class.getName()).log(Level.SEVERE, "failed to open help page", ex); //NON-NLS } diff --git a/KeywordSearch/manifest.mf b/KeywordSearch/manifest.mf index 8d28239264..56e7a721f2 100644 --- a/KeywordSearch/manifest.mf +++ b/KeywordSearch/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.sleuthkit.autopsy.keywordsearch/6 -OpenIDE-Module-Implementation-Version: 16 +OpenIDE-Module-Implementation-Version: 17 OpenIDE-Module-Install: org/sleuthkit/autopsy/keywordsearch/Installer.class OpenIDE-Module-Layer: org/sleuthkit/autopsy/keywordsearch/layer.xml OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/keywordsearch/Bundle.properties diff --git a/RecentActivity/nbproject/project.xml b/RecentActivity/nbproject/project.xml index e3559b4155..70c6b42471 100644 --- a/RecentActivity/nbproject/project.xml +++ b/RecentActivity/nbproject/project.xml @@ -63,6 +63,24 @@ 10.7 + + org.sleuthkit.autopsy.corelibs + + + + 3 + 1.1 + + + + org.sleuthkit.autopsy.keywordsearch + + + + 6 + 6.3 + + org.sleuthkit.autopsy.recentactivity diff --git a/Testing/manifest.mf b/Testing/manifest.mf index 51d75b7ab6..e6829a2a04 100644 --- a/Testing/manifest.mf +++ b/Testing/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.sleuthkit.autopsy.testing/3 -OpenIDE-Module-Implementation-Version: 9 +OpenIDE-Module-Implementation-Version: 10 OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/testing/Bundle.properties diff --git a/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties index 11577feb0c..17be497946 100644 --- a/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties +++ b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties @@ -1,5 +1,5 @@ #Updated by build script -#Tue, 21 Mar 2017 17:07:16 -0400 +#Mon, 22 May 2017 15:46:42 -0400 LBL_splash_window_title=Starting Autopsy SPLASH_HEIGHT=314 SPLASH_WIDTH=538 @@ -8,4 +8,4 @@ SplashRunningTextBounds=0,289,538,18 SplashRunningTextColor=0x0 SplashRunningTextFontSize=19 -currentVersion=Autopsy 4.3.0 +currentVersion=Autopsy 4.4.0 diff --git a/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties index 9dd257109f..440f4ca8b3 100644 --- a/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties +++ b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties @@ -1,4 +1,4 @@ #Updated by build script -#Tue, 21 Mar 2017 17:07:16 -0400 -CTL_MainWindow_Title=Autopsy 4.3.0 -CTL_MainWindow_Title_No_Project=Autopsy 4.3.0 +#Mon, 22 May 2017 15:46:42 -0400 +CTL_MainWindow_Title=Autopsy 4.4.0 +CTL_MainWindow_Title_No_Project=Autopsy 4.4.0 diff --git a/nbproject/project.properties b/nbproject/project.properties index 00ab969c89..92b6280309 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -7,7 +7,7 @@ app.name=${branding.token} app.version=4.4.0 ### build.type must be one of: DEVELOPMENT, RELEASE #build.type=RELEASE -build.type=DEVELOPMENT +build.type=RELEASE project.org.sleuthkit.autopsy.experimental=Experimental project.org.sleuthkit.autopsy.imagegallery=ImageGallery diff --git a/pythonExamples/README.txt b/pythonExamples/README.txt index b558f44e4b..1d19ac5892 100755 --- a/pythonExamples/README.txt +++ b/pythonExamples/README.txt @@ -5,7 +5,7 @@ your needs. See the developer guide for more details and how to use and load the modules. - http://sleuthkit.org/autopsy/docs/api-docs/4.3/index.html + http://sleuthkit.org/autopsy/docs/api-docs/4.4/index.html Each module in this folder should have a brief description about what they can do.