PhotoGrok Changelog

What's new in PhotoGrok 2.83

Apr 15, 2024
  • Removed the information dialog that appears when selecting the dynamic thumbnail checkbox in preferences. Instead, any displayed thumbnails will be refreshed when Preferences dialog is closed.
  • Fixed (harmless) "Context" exception in graal.js when applying script changes after a painter has been set.
  • "Image Not Found" message not displayed when buffering turned off in preferences (and image missing from storage).
  • BufferedPainter now wraps painter names with "BUFFERED" label.

New in PhotoGrok 2.81 (Mar 29, 2024)

  • Fixed regression where windows and linux users could use native file dialogs (directory selection not possible). Back to Mac only.
  • Added "Miscellaneous" and "Advanced" tabs to preferences. Some reorganization of existing preferences.
  • Added option to turn off image caching in "Advanced' tab. Replaces photogrok.nocache property and --nocache program argument. Slower performance but may help in low memory/high megapixel situations.
  • Renamed "ExifTool" pane to "Metadata" as it displays more than just ExifTool tags.
  • Added option to display catalog tags in the "Metadata" pane. This includes all tags saved in the catalog for a selected image (when viewing images from a catalog tree).
  • Shortcut keys can be defined for fullscreen/slideshows. See "anim.js" code for examples.
  • No longer show error dialogs when an image isn't found - for example, unattached storage. Displays message on image pane instead.
  • All setPainter() script calls are queued into event dispatch thread for more reliable scheduling.
  • Timer now returns a TimerTask object so specific tasks can be canceled (in addition to Timer.cancel). See Java's Timer/TimerTask APIs or "anim.js" for examples.
  • Rewrote "anim.js" plugin to display more advanced filter animations. Toggle via menu or shortcut keys. Some animations require a fast computer for good performance.
  • A setPainter() call in a top-level script would not fire an "onPainterChanged" event registered in the same script.
  • "Continuously Scan Folders" always searched subdirectories ignoring the current setting in Folder Manager.
  • Added "Stamp" and "Quantize/Dither" filters to "Filters" and "Thumbnail Fiters" User menus (via jhlabs.js plugin).

New in PhotoGrok 2.80 (Mar 25, 2024)

  • Interactive ascii art plugin "squint.js" and simple animation plugin "anim.js" added. See plugins.
  • Most plugins have been refactored to make use of new functionality and allow better interoperability.
  • Added "photogrok.nocache" property for low-memory environments. "-Dphotogrok.nocache=true" will turn off image caching. Can also be activated with "--nocache" program argument.
  • Added "photogrok.maximgsize=[width]x[height]" property for low-memory environments like 1gb Raspberry Pi. Can also be activated with "--maximgsize=[width]x[height]" program argument. Using this forces PhotoGrok to scale images as they're read in. For example, if "--maximgsize=1920x1080", then high megapixel images are read in at a maximum size of 1920x1080 pixels. There can be quality loss and exporting images will use this lower resolution.
  • Drop down session history for "Evaluate JS" dialog added.
  • Painters are now named and can be retrieved in scripts with getName(). Calling setPainter(painter, id) will assign id as name. Painters retrieved from JSI.getPainter() will always be named. To name a painter in your script before it is used, use the returned painter from JSI.namedPainter(painter, id). This feature is backwards compatible so if a painter isn't named, PhotoGrok will make one based on hashcode.
  • eval functions in "graaljs" are now cached for increased performance.
  • Added Timer to create thread safe timers for executing functions after a delay or repeatedly on a set interval. Timers are automatically cancelled when a script context is re-evaluated. See "anim.js" plugin. There are two functions on a Timer: schedule(function, long) to run a function once after waiting x milliseconds and schedule(function, long, long) to run a function repeatedly after waiting.
  • Removed "jdkrhino" engine. Anyone still using Java 6 or 7 should just use the included "rhino" instead.
  • onPainterChanged callback now returns the new painter as third argument so function onPainterChanged(name, isnull, painter). Redundant but backwards compatible.
  • Shortcut keys can now be assigned to functions using JSI.addShortcut(function, int, int). See "squint.js" or "tone.js" plugins. See Java doc for more details on KeyCode and Modifier ints.
  • About dialog now shows script engine and current painter.
  • When not explicitely configured, the default script engine is selected in the following order: graal.js, nashorn and rhino (depending on availability).

New in PhotoGrok 2.79 (Mar 12, 2024)

  • Updated Rhino js engine to latest version.
  • Scripts and plugins no longer need to wrap Graphics2D objects in Gfx(). Existing plugins adjusted.
  • Performance boost in Rhino by compiling user scripts.
  • 'graal.js' engine no longer needs to run in nashorn-compat mode. The reason for keeping both 'graal.js' and 'graaljs' scripting is that 'graaljs' offers more config options and 'graal.js' can be faster in certain scenarios.
  • 'graal.js' engine now accepts @graalopts. See scripts.txt.

New in PhotoGrok 2.78 (Mar 10, 2024)

  • New graaljs scripting now supported See scriptstxt for details Plugins have been updated
  • Changed Systemerr output color in the console
  • Keyboard shortcuts could stop working in some macOS setups
  • Canceling a file system tree operation would cause an error in windows
  • SwingRequest function now takes a function that returns a JComponent instead of a JComponent for proper thread control See tonejs for an example

New in PhotoGrok 2.76 (Mar 1, 2024)

  • Allow full installs to find plugins directory.
  • Workaround for slow tree performance on some platforms.
  • Changed labels to more clearly differentiate file system from catalog (database) operations.

New in PhotoGrok 2.75 (Nov 1, 2023)

  • Use default web browser to display maps if JavaFX browser not available.
  • Full screen fix for some non-oracle Mac JVMs.

New in PhotoGrok 2.74 (Oct 30, 2023)

  • Memory optimization to mitigate some graalvm issues.

New in PhotoGrok 2.73 (Oct 27, 2023)

  • Restore console menu item.
  • Fix problem that was breaking scripts.

New in PhotoGrok 2.72 (Aug 16, 2023)

  • Unlimited named user tabs. Existing settings with "User 1" and "User 2" tabs are preserved. Right-click on tags in the exif pane and select "Add To New Tab".
  • Plugins are automatically loaded with new installs.
  • Edit or remove loading code with CTRL+SHIFT+J.
  • The thumbnail frame background can be set from a script using new "frameColor" property in PainterProps. See "framer.js" plugin for an example.
  • Change mouse wheel zoom scroll increment.
  • Support for webp images. Add "webp-imageio-0.1.6.jar" from internet to PhotoGrok's "lib" directory to enable.
  • Default jar works with Windows, Linux and Mac amd64.
  • There is a dynalib for Mac arm available if you dig.
  • Added checkbox to disable rollover images to preferences.
  • Added "framer.js" and "datefilter.js" to plugins. Added "setOverlayPainter" function to "filler.js" plugin. See Help->Plugins menu.
  • Added photogrok_version variable for scripts.

New in PhotoGrok 2.71 (May 1, 2023)

  • Fixed 'loadTree' (with non-null function argument) and 'background' functions when using graal.js.
  • Added sizer.js to calculate tree, node and file sizes.

New in PhotoGrok 2.70 (Apr 11, 2023)

  • Dialogs can be created from scripts. See tone.js.
  • Optimize multi-tab filters.
  • Compile js code for graal.js and nashorn - big performance boost in graal.
  • Sort custom tags displayed in Exif Pane.
  • GetPainter() calls in example plugins no longer return buffered images. Use BufferedPainter in util.js.
  • New example plugins: tone.js and film.js. Algorithms created using chatGPT.

New in PhotoGrok 2.69 (Dec 7, 2022)

  • Fixed issue validating custom tags which could prevent new tags from being saved.

New in PhotoGrok 2.67 (Apr 10, 2020)

  • Custom tags are now saved in a single json file instead of being included in each setting file. Tags defined in setting files are migrated when first loaded. Duplicate tag names with different contents are migrated with _1, _2, etc appended to the name. This change is to reduce confusion of having different tag sets in different setting files. Previously it was difficult to keep custom tags consistent across settings.
  • Changes to js image caching. See ComboPainter and BufferedPainter functions in Util.js for simplified image caching in script. BufferedPainter allows Buffering any Painter without additional complex logic: setPainter(new BufferedPainter(myPainter))

New in PhotoGrok 2.66 (Sep 13, 2019)

  • Request without callback broken since version 2.64.
  • Minor updates to plugins.

New in PhotoGrok 2.65 (Sep 12, 2019)

  • Added an "Evaluate JS" dialog to the Tools menu. Enter JS code that runs in the current context. Example: "showMessage('hello')". Useful for calling functions on plugins.
  • addMenuCommand did not work on graal.js.
  • Problem script evals now return "Script Error" instead of throwing exceptions.
  • Script initialization is now a part of the startup dialog sequence.
  • Updated documentation and new plugins. See scripts.txt for more information.
  • The newer version of rhino included is now the default script engine on older jvms.

New in PhotoGrok 2.64 (Sep 7, 2019)

  • Now runs in Java 11+. On Java 11+, JavaFX must be configured manually in order for maps and scripts using JavaFX to work.
  • PhotoGrok can use graal.js for JavaScript when available (specify "@scriptengine graal.js").See scripts.txt for information on changes.
  • elapsedTime function added to jdk rhino for Java 6 and Java 7.

New in PhotoGrok 2.63 (Aug 29, 2019)

  • Write thumbnails as png files instead of jpg
  • for better compatibility with some open jdk distributions.
  • Improve verbiage of ElapsedTime tag.
  • Added elapsedTime(date1, date2) script function.

New in PhotoGrok 2.62 (May 21, 2018)

  • Scripts are now initialized at startup instead of when building a tree.
  • ReadFromURL function didn't work on JDK 6.
  • Show error dialog and quit tree build if JS custom tag or filter fails with syntax error.
  • @rhinoopts directive was being ignored.
  • AddTreeFilter, removeTreeFilter and registerCallback functions added for future plugin support.
  • Script context wasn't being reset when switching from a setting with a script to one without.
  • AddUserCommand menus with submenu param "Help" appear under the Help->Plugins menu.
  • Allow the same custom tag to be used multiple times in tree.

New in PhotoGrok 2.61 (Apr 10, 2018)

  • PhotoGrok sessions without a script were unable to build a tree. Bug introduced in 2.60 fixed.

New in PhotoGrok 2.60 (Apr 6, 2018)

  • Allow Java 6 and 7 to run in the java default script engine (pre 2.59 behavior). To use the more recent mozilla rhino on those jvms, use the '@scriptengine rhino' directive.
  • Fixed performance issue when using javascript filters with mozilla rhino.

New in PhotoGrok 2.59 (Apr 5, 2018)

  • SetScanDirs script function was broken in 2.58.
  • Updated mozilla rhino script engine for older Java installations. Users on Java 8 and higher can optionally run rhino or nashorn.
  • Added script preprocessing directives to select script engine and more. See scripts.txt.
  • Added the following callback methods: onImageChanged(), onImageResized(), onImageDragged() and onImageZoomed(). See scripting page.
  • Do not paint gray background rect if no viewer tags.
  • Fixed multiple console dialog display bug.
  • script_engine_name property returns engine name.
  • Added getPanelImageProps to retrieve position and view information for non-painter screen updates. See tesseract example.
  • Added updateStatus callback allowing non-painter webview scripts to send notification messages. See tesseract example.

New in PhotoGrok 2.58 (Mar 27, 2018)

  • Fixed issues with Java 10 version check in startup scripts and main program.
  • Fixed nashorn scope issue in Java 10.
  • Added NOTTHREADSAFE directive for scripts creating thumbnail painters that aren't thread safe.
  • Set Nashorn --scripting flag to allow Nashorn specific extensions like load() and readFully().
  • Added scripting API to access embedded browser. This allows browser-based js libraries to manipulate
  • and query images. See face detection example.
  • Introduced new painter classes for browser dom access and object caching. See examples.
  • Partially implemented HTML5 Canvas in Java 2D.
  • Reduced paint calls to main image panel.
  • Separated nashorn and rhino initialization for easier maintenance.
  • Added readFromURL function to load remote scripts from the web.

New in PhotoGrok 2.57 (Feb 26, 2018)

  • Implemented a proper JavaScript code editor!
  • Added script editor and console items to Tools menu.
  • Anti-alias text now rendered in preview painter.
  • Created default set of catalog tags when none has been defined. This will vastly improve performance when cataloging a large image set.
  • Added backwards compatible change to addMenuCommand and addUserCommand script functions. These can now accept two optional parameters, "menu" and "submenu" that represent the calling menu items respectively.
  • Create thumbnails and preview images with image type ARGB when a corresponding painter is set. This allows filters requiring an ARGB image to complete.
  • Fixed z-order of non-native file chooser on Custom
  • Tag Manager dialog on Mac.
  • Console dialog is now non-modal.
  • Added additional doc and license files to distribution.

New in PhotoGrok 2.56 (Feb 22, 2018)

  • Allow optional native file chooser on all systems.
  • Added console to output text from scripts and java errors when they occur. Open with: CTRL+SHIFT+C
  • Added JHLabs image filters. Currently only accessible from scripts. See scripting examples.
  • JavaScript API additions and enhancements. Most notable is the ability to add a top-level User" menu from scripts. See scripting documentation and new examples.
  • Changed version check for upcoming Java 10 and beyond.

New in PhotoGrok 2.55 (Jan 15, 2018)

  • Add a separate painter for rollover previews. Use setPreviewPainter (similar to setThumbnailPainter) to change the popup preview image from JavaScript.
  • Fixed issues with he max number of allowed settings.
  • Cleared custom tags when a loading a setting without any custom tags.
  • Fixed dialog z-order. In some circumstances a dialog would open behind an open dialog.

New in PhotoGrok 2.54 (Jan 12, 2018)

  • Workaround found for Mac OS X menu bar issues. Mac users on High Sierra should make sure they have the 10.13.1 update in order to see the application menu.
  • Restored original font for OS X users.

New in PhotoGrok 2.53 (Jan 10, 2018)

  • Mac OS X menu items fail on Java 9. As a workaround, menus on Mac Java 9 have been moved to traditional Java window-based menus until this bug is fixed. Mac users should use Java 8 for native menu.
  • Changed Mac menu shortcut accelerator keys to use the Mac command key. Some keyboard shortcuts have changed.
  • Use different font for Apple Java to accommodate command key characters in menus.

New in PhotoGrok 2.52 (Jan 9, 2018)

  • PhotoGrok would not start on Mac Java 9.0.1.
  • copyTree JavaScript function prints in progress file names to status bar.

New in PhotoGrok 2.51 (Oct 5, 2017)

  • Fixed Mac specific menu behavior on Java 9.
  • Moved Settings to it's own menu for faster access.

New in PhotoGrok 2.50 (Oct 4, 2017)

  • Changes to work in Java 9. Currently, Mac users on Java 9 will experience some menu limitations.
  • Notably preferences are located under 'Tools' and no fullscreen option is available. This is under development.

New in PhotoGrok 2.49 (Jul 5, 2017)

  • Sort bar chart in tree node order.

New in PhotoGrok 2.48 (Aug 1, 2016)

  • Show warning if Windows user selects exiftool(-k).exe.
  • Must be renamed to exiftool.exe per ExifTool doc.
  • Improve caching when traversing tree to view images.
  • Scroll thumbnail screen to current image when parent node is selected in tree.
  • Updated ExifTool to version 10.20. It may be necessary to re-index catalog if tag indexes don't match.

New in PhotoGrok 2.47 (Mar 23, 2016)

  • Do not timeout "Catalog Modified" status message.
  • Extend timeout on "Low Memory" status message.
  • Improve memory settings for Mac and Windows distributions (and Mac/Linux standalone launch script).
  • PhotoGrok works best with a 64-bit JVM and at least 4GB of system memory.

New in PhotoGrok 2.46 (Jan 6, 2016)

  • ctrl+m zoom to mouse pointer works in single image
  • fullscreen mode.
  • Sort tags on custom tag manager.
  • Editable filter combo box shows all ExifTool tags.
  • Additional rollover help on preferences dialog.
  • Added option to continuosly scan folders for catalog changes.
  • Text fields now have cut/copy/paste popup menu.
  • Added set button to catalog importer. This allows the required tags to be set without importing.
  • Added "Copy Value" option to exif popup menu.
  • Fixed custom tag error related to invalid JavaScript

New in PhotoGrok 2.45 (Nov 23, 2015)

  • ctrl+m zooms to mouse pointer location when viewing images (same as middle mouse button).
  • refreshFile script function now removes any cached thumbnail image.
  • Improved thumbnail scrolling speed on OS X and Linux.
  • Sorting non-catalog tree by DateTimeOriginal (see preferences) now works with multiple directories.
  • JavaScript execCommand now returns an object with 'returnCode' and 'response' string array. See scripting page for details.

New in PhotoGrok 2.44 (Nov 12, 2015)

  • Numeric tags like ISO are no longer sorted as strings.
  • Fixed issue with the refreshFile JavaScript function.
  • Removed Java 7 specific builds. PhotoGrok still works in Java 6 and 7 but Java 8 is required to show maps

New in PhotoGrok 2.43 (Nov 6, 2015)

  • Option to sort tree by DateTimeOriginal in non-catalog (real time) mode.
  • Support for '*' extension wildcard in catalog mode.
  • Fixed shift arrow on advanced catalog import dialog to include ExifTool tags required by any custom tags.
  • Support for viewing files compressed in .xz format.
  • Many new scripting functions including support for running programs, executing ExifTool, adding custom popup menu options and xz compression (great for Sony
  • uncompressed raws). See the scripting.html page for a complete a list of all changes.

New in PhotoGrok 2.42 (Nov 3, 2015)

  • Added ability to set a painter function for thumbnails - setThumbnailPainter(painter).
  • Added "Apply Painter" checkbox to allow exporting images manipulated by a painter function.
  • Added getImageRect(BufferedImage) function to PainterProps to return a Rectangle containing only the visible bounds of an image. Useful optimization for magnified images. See 'psychedelic' script.
  • Renamed Catalog Manager to Catalog Importer.
  • Optimized catalog import process for small speedup.
  • Many miscellaneous bug fixes.

New in PhotoGrok 2.41 (Jul 15, 2015)

  • Enhancements to scripting API including ability to automate functions and draw on the display
  • Changes to script execution to support new functions. Scripts are evaluated when loading settings, saving scripts and building trees/catalogs. Most scripts should be backward compatible but some may need to be modified by placing logic in onBuildTree function.
  • Changed link to point to new FAQ url.

New in PhotoGrok 2.40 (Jun 6, 2015)

  • Added a popup menu to delete files. Confirmation is required. If the tree was built from a catalog, the image is also removed from that catalog.
  • Recent settings menu now shows the last twenty entries.
  • If "Original Size" and "Include EXIF Data" is checked in export preferences, PhotoGrok will now do a straight file copy. This is also a workaround to exporting non-image files.
  • Updated ExifTool to version 9.90. As always, you can configure to use any version of ExifTool on your system.

New in PhotoGrok 2.39 (Feb 10, 2015)

  • Images with ascii tag values greater than 4k were not not recorded in a catalog.
  • Binary tags like ThumbnailImage can be exported to a file. Right-click tag in exif list and "Export Data".
  • Improved mouse wheel zoom speed.
  • Clicking the center mouse button will toggle max zoom to the current cursor location.

New in PhotoGrok 2.38 (Dec 27, 2014)

  • Previously, files of the same name and size were ignored in a copy operation. PhotoGrok now does a byte-level comparison if the sizes match. Files with the same name that are not identical are copied with an _1, _2, etc. appended to the base file name. As before, no files are overwritten in a copy operation.

New in PhotoGrok 2.37 (Nov 24, 2014)

  • Added a recent setting menu to the File menu. The last ten accessed settings are saved.
  • Ability to move tags from one user tab to the other.
  • Added Preferences backup mechanism.

New in PhotoGrok 2.36 (Sep 25, 2014)

  • Fullscreen shortcut for selected image is now CTRL+f. This was necessary because both the tree and exif window can be searched by selecting either and simply typing the search word. The previous shortcut key conflicted with this mechanism.
  • Added a second user tab for tracking tags.
  • Fixed a rare busy cursor bug.

New in PhotoGrok 2.35 (Sep 10, 2014)

  • Pressing F will open a selected image in full screen mode.
  • Reverse slideshow (use left arrow) now loops correctly.
  • Zoom and scroll is now implemented in fullscreen image viewer.

New in PhotoGrok 2.34 (Aug 16, 2014)

  • Added ability to copy images into other applications via the clipboard. Copied images can also be pasted into the file system.

New in PhotoGrok 2.33 (Jul 23, 2014)

  • Added a javascript accessible map for persisting script data between tree builds. The Ctrl+Shift+J JavaScript window now includes a button to clear the map. A scripting page will be added to the web site with useful examples for advanced users.
  • Attempt to fix a rare issue when running under Windows. The busy state is not correctly toggled.

New in PhotoGrok 2.32 (Apr 25, 2014)

  • Minor resizing fix.

New in PhotoGrok 2.31 (Apr 25, 2014)

  • Mouse wheel zoom now intelligently zooms to mouse location.
  • Additional Ctrl+Shift+J functions.

New in PhotoGrok 2.30 (Apr 18, 2014)

  • Added scripting interface. Ctrl+Shift+J opens dialog for entering JavaScript. Any code is executed when a tree is created or a catalog is updated. Script can contain variables and functions accessible from filters. A simple API allows some interaction with PhotoGrok. The web site will be updated with details.

New in PhotoGrok 2.29 (Apr 4, 2014)

  • Fix for js filters in Java 6 and 7.
  • JS optimization.

New in PhotoGrok 2.28 (Mar 25, 2014)

  • Use Java's default js interpreter for filters and custom tags. Big speedup on Java 8.

New in PhotoGrok 2.27 (Mar 25, 2014)

  • Accomodate change to Google Map api.

New in PhotoGrok 2.26 (Mar 12, 2014)

  • If tree is loaded from a catalog, that catalog will now be automatically updated if keywords are changed.

New in PhotoGrok 2.25 (Mar 5, 2014)

  • Added "Create Playlist" to thumbnail multi-select.
  • Fixed problem adding keywords from thumbnail screen.

New in PhotoGrok 2.24 (Mar 3, 2014)

  • Update ExifTool to version 9.53.

New in PhotoGrok 2.23 (Mar 3, 2014)

  • Fixed issues with spaces in directory names (windows).
  • Reset preferences if pref file can't be loaded.
  • Under some circumstances a file chooser operation would not correctly cancel.

New in PhotoGrok 2.22 (Jan 28, 2014)

  • Alphabetize user exif tab.
  • Save "Apply Filter" setting.
  • Option to export images at original size.
  • Fixed inaccurate process count message.

New in PhotoGrok 2.21 (Dec 9, 2013)

  • Fixed file locking bug that prevented keyword updates under some circumstances.
  • Updated to ExifTool 9.43 to fix problem viewing some images with unusual file names.

New in PhotoGrok 2.20 (Oct 29, 2013)

  • Removed address bubble from map.
  • Fixed default directory behavior.
  • Minor UI fixes.

New in PhotoGrok 2.19 (Oct 25, 2013)

  • Maps for geotagged images. Right-click on an image or tree node and select "Map" from popup menu. Java 7 Update 6 or higher required.
  • Changed tree click behavior for switching out of maps and charts.

New in PhotoGrok 2.18 (Sep 27, 2013)

  • Verbiage changes including 'index' to 'catalog'.
  • Multiple catalogs can be created in Preferences.
  • Filters can now be applied to catalog creation.
  • Removed unnecessary ExifTool version check.
  • Pressing the shift key while moving tags on the Catalog Manager (advanced mode) will only move tags used by the current configuration. Good for creating a compact and high performance catalog.

New in PhotoGrok 2.17 (Sep 23, 2013)

  • Rollover preview of portrait RAW files not rotated.
  • Minor optimization to javascript filter compiler.

New in PhotoGrok 2.16 (Sep 10, 2013)

  • Rollover preview of small images could hang the application.

New in PhotoGrok 2.15 (Sep 10, 2013)

  • Substantial optimization when using custom tags.

New in PhotoGrok 2.14 (Sep 10, 2013)

  • Rollover image not rotating based on Orientation tag.

New in PhotoGrok 2.13 (Sep 10, 2013)

  • Multi-monitor slideshow fix.
  • Added rollover image preview.

New in PhotoGrok 2.12 (Sep 2, 2013)

  • Under certain circumstances tags could be ignored when
  • importing settings.
  • Added default directories for custom tags and settings.
  • Cleaned up shortcut keys.
  • Fixed icon in the windows launcher zip.
  • Stop a background tree build when importing new settings.

New in PhotoGrok 2.11 (Aug 20, 2013)

  • Added ability to use a javascript expression to create a composite or calculated tree node label. FAQ help coming.

New in PhotoGrok 2.10 (Aug 20, 2013)

  • · Key presses were being lost during slide show on Oracle's OS X JVM.
  • · Added "View" option to image popup menu.

New in PhotoGrok 2.09 (Aug 20, 2013)

  • · Switched to java-image-scaling library for improved quality.
  • · Keywords (tags in Picasa) can be updated for a single image or all images/sub-images of a tree node. Since this functionality calls ExifTool's write operations, it must first be activated on the Preferences dialog. Please make sure your images are backed up.
  • · Minor UI and verbiage updates.

New in PhotoGrok 2.08 (Aug 15, 2013)

  • Multiple tags can now be passed into a javascript filter via a comma delimited string. For example, to see all images taken in portrait mode, enter "ImageWidth,ImageHeight" in the first filter column, choose "Javascript Expression" for the operation and enter the following in the third column: "ImageHeight > ImageWidth".

New in PhotoGrok 2.07 (Aug 15, 2013)

  • Tags selected for display in the "User" tab were not restored with settings import.

New in PhotoGrok 2.06 (Aug 15, 2013)

  • Slideshow now cycles.

New in PhotoGrok 2.05 (Aug 15, 2013)

  • Removed "num" javascript helper function (use "parseInt").
  • Restored "dec" javascript function.
  • Added convertDate helper javascript function.
  • Added version check code for forthcoming stand-alone version.

New in PhotoGrok 2.04 (Aug 15, 2013)

  • Under certain conditions, filters weren't loading with with imported settings.

New in PhotoGrok 2.03 (Aug 15, 2013)

  • Removed native Macintosh menu bar when running under Oracle Mac JVM because of a Look and Feel bug in Java Web Start. Mac users are encouraged to use Apple's JVM for a better experience.

New in PhotoGrok 2.02 (Aug 15, 2013)

  • Added ability to import/export settings. This covers all preferences, filters, tags and image folders.

New in PhotoGrok 2.01 (Aug 15, 2013)

  • Added a "Reset" button to the filter dialog.
  • "Copy Tree" and tree "Export" no longer allowed during a
  • tree build. A dialog will notify the user.
  • Prevent "locked" progress indicator when canceling a tree
  • build on a large database.
  • Minor verbiage changes.
  • Save default export and copy tree directories.

New in PhotoGrok 2.00 (Aug 3, 2013)

  • Further JavaScript optimizations.

New in PhotoGrok 1.99 (Aug 3, 2013)

  • Compile javascript filters for substantial speed increase.

New in PhotoGrok 1.98 (Aug 2, 2013)

  • Added bar charting.

New in PhotoGrok 1.97 (Jul 29, 2013)

  • Fixed filter cancel applying changes (introduced in 1.96).

New in PhotoGrok 1.96 (Jul 29, 2013)

  • Added optional ability to save filters.
  • Changed preferences layout.

New in PhotoGrok 1.95 (May 7, 2013)

  • Zoom images with mouse wheel.
  • Scroll zoomed images by clicking and dragging.

New in PhotoGrok 1.94 (Apr 11, 2013)

  • New icons.
  • Added FAQ menu item to help menu.

New in PhotoGrok 1.93 (Apr 8, 2013)

  • Default image folder is now "Pictures" in the user's home folder (or the user's home dir if "Pictures" doesn't exist).
  • Added javascript helper functions "num" and "dec".

New in PhotoGrok 1.92 (Apr 3, 2013)

  • Simplified Index Manager dialog.
  • Minor ui fixes.

New in PhotoGrok 1.91 (Apr 1, 2013)

  • PhotoGrok is no longer blocked by a progress dialog when building a tree. This means images can be examined even as the tree is being constructed. Some functions will cancel a background tree build (with notification).
  • Added busy indicator to status bar for background processes.

New in PhotoGrok 1.90 (Mar 30, 2013)

  • Version 1.89 failed to launch on Windows.
  • Replaced progress bar with web 2.0-style busy indicator.
  • Progress verbiage changes.

New in PhotoGrok 1.88 (Mar 27, 2013)

  • Reverted update mechanism to "timeout".
  • Stop loading thumbnail images if available memory insufficient.
  • Minor aesthetic changes.

New in PhotoGrok 1.87 (Mar 25, 2013)

  • ExifTool is now included for Linux and Mac users. As usual, a different version of ExifTool can be configured in Preferences.
  • Updated included ExifTool to Version 9.24.
  • NOTE: If you're running an older version and PhotoGrok isn't automatically updating, you may need to run "javaws -viewer" and right-click on the PhotoGrok application and choose "Run Online" to get the latest update.

New in PhotoGrok 1.86 (Mar 22, 2013)

  • Custom tags can now be used as viewer tags and are listed in the Exif pane for each image (see next).
  • The "All Exif" tab list now displays a "PhotoGrok" section containing all custom tags and the special tag "ElapsedTime". Like all tags, these can be displayed the "User Exif" tab.

New in PhotoGrok 1.85 (Mar 22, 2013)

  • Added "User Exif" and "All Exif" tabs to right Exif pane. Right-click on tags in the list(s) to add/remove entries on the user exif list. This makes frequently used tags easily visible at all times.
  • NOTE: If you're running version 1.84, you may need to run "javaws -viewer" and right-click on the PhotoGrok application and choose "Run Online" to get further updates. This resets the update mechanism which was accidently turned off in version 1.84. This can also be done from the Java preferences icon on Windows and Mac.

New in PhotoGrok 1.84 (Mar 22, 2013)

  • Optimization for improved responsiveness.
  • Run update check in background for faster startup.

New in PhotoGrok 1.83 (Mar 8, 2013)

  • Significant speed improvements when displaying thumbnails.

New in PhotoGrok 1.82 (Mar 8, 2013)

  • Optimized tree load.
  • Code cleanup. Removed Java 5 specific code.
  • Improved error messages.

New in PhotoGrok 1.81 (Mar 2, 2013)

  • Popup menu on EXIF pane added. Use to remove selected tags from future indexing operations (and optionally delete the tags from the current index).
  • Removing unused tags can shrink the index and increase performance when building a tree.

New in PhotoGrok 1.80 (Feb 27, 2013)

  • Dropped support for Java 5.
  • Improved tab appearance and operation.
  • Fixed some layout and font issues.

New in PhotoGrok 1.79 (Feb 22, 2013)

  • Custom font for uniform appearance across platforms.

New in PhotoGrok 1.78 (Feb 8, 2013)

  • Users can optionally select which tags are indexed. Excluding tags that aren't needed improves indexing performance.

New in PhotoGrok 1.77 (Jan 19, 2013)

  • Added ability to cancel construction of indexed tree.

New in PhotoGrok 1.76 (Jan 17, 2013)

  • Custom tags can be used in filters for other custom tags.
  • Recursive conditions are reported when tree is built.

New in PhotoGrok 1.75 (Jan 17, 2013)

  • Custom tags can be used in filters.

New in PhotoGrok 1.74 (Jan 16, 2013)

  • Added ability to import/export custom tags.

New in PhotoGrok 1.72 (Oct 13, 2012)

  • Added a Window menu for OS X.

New in PhotoGrok 1.71 (Oct 11, 2012)

  • Create custom tree tags based on a filter. New tags can be created and existing tags can be modified.

New in PhotoGrok 1.70 (Oct 9, 2012)

  • Application size, position and tool bar orientation are saved.

New in PhotoGrok 1.69 (Oct 8, 2012)

  • "Copy Tree" and "Export" will now skip files if PhotoGrok detects a duplicate file (same name and size) in the destination directory.
  • If two files have the same name but different sizes, the copy will append a _1, _2, etc. to the destination file name (extensions are preserved). This behavior is useful for incremental backups, etc.

New in PhotoGrok 1.68 (Oct 2, 2012)

  • OS X specific enhancements and fixes.

New in PhotoGrok 1.67 (Oct 2, 2012)

  • Allow PhotoGrok to "Export" and "Copy Tree" to a non-empty folder.
  • This is more useful. If there are duplicate files in the destination folder, PhotoGrok will append and underscore 1, 2 etc to the file name.
  • Faster image copy for "Copy Tree".
  • Fixed problem with jpeg extension appended to file names when copying.

New in PhotoGrok 1.66 (Sep 21, 2012)

  • UI changes for OS X. Moved menu from application to desktop.
  • Fixed "Open" and "Open Folder" on OS X.

New in PhotoGrok 1.65 (Sep 18, 2012)

  • Under some circumstances PhotoGrok would not correctly detect a new version of ExifTool when building an index.

New in PhotoGrok 1.64 (Sep 6, 2012)

  • Added ability to export M3U playlist file from tree popup-menu.

New in PhotoGrok 1.63 (Aug 16, 2012)

  • Multi-threaded image loading for fast tree traversal using arrow keys.

New in PhotoGrok 1.62 (Aug 3, 2012)

  • Focus change for easier tree navigation (use arrow keys).
  • Changed "TimeSpan" tag to "ElapsedTime".

New in PhotoGrok 1.61 (Aug 3, 2012)

  • Entering "TimeSpan" as a viewer tag displays the length of time since the image was created (uses DateTimeOriginal for calculation). This tag is specific to PhotoGrok.

New in PhotoGrok 1.60 (Jul 16, 2012)

  • Added ability to use GraphicsMagick to decode image types with partial or no native support in PhotoGrok (TIFF, PICT etc). GraphicsMagick must be installed and in the path. FileTypes to be decoded by GraphicsMagick must be entered on the configuration screen.

New in PhotoGrok 1.59 (Jul 16, 2012)

  • New application icons.
  • Minor memory optimization.

New in PhotoGrok 1.58 (Jul 2, 2012)

  • Updated Substance look and feel.
  • Minor DB connection optimization.

New in PhotoGrok 1.57 (Jul 2, 2012)

  • Tree right-click behavior more consistent with OS behavior.

New in PhotoGrok 1.56 (Jul 2, 2012)

  • DB optimization substantially speeds up indexed searches. Either re-index your images or re-index a single folder to force the update. The first re-index could take longer than usual if you have a large image collection.

New in PhotoGrok 1.55 (Jul 2, 2012)

  • Filter optimizations. Searches with filters should run much faster.

New in PhotoGrok 1.54 (Jul 2, 2012)

  • Thumbnails intelligently render when scrolled into view.
  • Fixed minor layout bug.

New in PhotoGrok 1.53 (Jul 2, 2012)

  • Added ability to view tree information as a pie chart. Right-click on a node with child folders (for example, the root node) and select "Chart" from the popup-menu.

New in PhotoGrok 1.52 (Jun 16, 2012)

  • Changed preference mechanism for future enhancements. There are no longer limitations to the number of folders that can be scanned.
  • Switched to Rhino for Javascript filter operations. Faster. Javascript filters should now work fine on Java 5.
  • Add "Previous Filter Must Be True" checkbox to multiple filter tabs.
  • This allows very complex AND/OR conditions when filtering data.

New in PhotoGrok 1.51 (Jun 7, 2012)

  • On windows it was possible to see "duplicate" thumbnails if an index was rebuilt after the filename's case had changed. For example, IMAGE.JPG was later re-saved as image.jpg. Simply re-index if this problem affected you.

New in PhotoGrok 1.50 (May 25, 2012)

  • Index searches for specific extensions are now much faster. Requires a re-index.
  • IMPORTANT CHANGE: The configuration screen now requires actual file extensions. (The field can still be left blank for all supported extensions). Previously ExifTool FileTypes were required for index operations and actual extensions for non-index searches. This was a glaring inconsistency.

New in PhotoGrok 1.49 (May 24, 2012)

  • Fixed sql error when running an index search with FileType as the only tag

New in PhotoGrok 1.48 (Apr 25, 2012)

  • Fixed index sync issue.

New in PhotoGrok 1.47 (Apr 25, 2012)

  • When previously indexed folders are re-indexed, deleted images are removed from the index and changed images are updated. This requires previous indexes to be rebuilt. Thumbnail images are also updated or deleted as appropriate. To guarantee thumbnails are in sync with folder images, delete existing thumbnails and re-create.

New in PhotoGrok 1.46 (Apr 25, 2012)

  • Multi-monitor bug fixes for application and slideshow
  • Ability to export images with or without EXIF data. Set the exported image width and height on the configuration screen (downscale only).
  • As always, the original image is not affected.

New in PhotoGrok 1.45 (Apr 25, 2012)

  • Added slideshow. Right-click on tree node and select "Slideshow". Set duration on configuration screen.

New in PhotoGrok 1.44 (Apr 25, 2012)

  • Some cameras have a PreviewImage embedded in JPEGs. PhotoGrok was incorrectly displaying this low-resolution image instead of the full JPEG.

New in PhotoGrok 1.43 (Apr 25, 2012)

  • Higher quality scaling algorithm.

New in PhotoGrok 1.42 (Apr 25, 2012)

  • Updated H2 database for faster queries. This will require the image index to be rebuilt.

New in PhotoGrok 1.41 (Apr 25, 2012)

  • Fixed to run in Java 5 again.

New in PhotoGrok 1.40 (Apr 25, 2012)

  • Added ability to copy a tree structure with corresponding images/files to the filesystem. Useful for backing up images meeting specific EXIF criteria.
  • See the FAQ for additional details.

New in PhotoGrok 1.39 (Apr 25, 2012)

  • Added Javascript expressions to Filters. Example: to see all images taken between F2.0 and F4.0, select (or type) 'Aperture' into the first filter field, select "Javascript Expression" as the filter operation and enter "Aperture >= 2.0 && Aperture