Name Modified Size InfoDownloads / Week
Parent folder
GrandPerspective-2_3_0.dmg 2019-12-08 3.1 MB
README.txt 2019-12-08 45.0 kB
GrandPerspective-2_3_0-src.tgz 2019-12-08 2.1 MB
Totals: 3 Items   5.2 MB 0
----------------------------------------------------------------------
  GrandPerspective, Version 2.3.0
----------------------------------------------------------------------

* INTRODUCTION

GrandPerspective is a small utility for Mac OS X that can draw two-
dimensional views of disk use within a file system. This can help you
to manage your disk, as you can easily spot which files and folders
take up the most space.

The graphical representation is a logical one, where each file is
shown as a rectangle with an area proportional to the file's size.
Files in the same folder appear together, but other than that the
placement of files is arbitrary. You can observe this by resizing the
view window. The location of files will change, in order to keep the
rectangles as square as possible.


* SYSTEM REQUIREMENTS

  - Mac OS X, 10.9 or higher
  - Intel processor


* CONTENTS

This version of GrandPerspective is released as two separate files:

  * GrandPerspective-2_3_0.dmg
 
      This is the main release file. It contains all you need to run
      the application. To install the application, open the disk 
      image and drag the application icon onto your Applications
      folder, or wherever you want to put it on your file system.
      Next, run the application by clicking on the icon.

      The application contains translations in languages other than
      English. Some translations are updated after the initial
      release. Translation updates are released as:

        GrandPerspective-2_3_0-Lx.dmg

      Here x is a number that increases with each update. For the list
      of included languages, see LOCALIZATION.txt

  * GrandPerspective-2_3_0-src.tgz

      This contains the source code of the application. It consists of
      the Objective C source code, as well as various auxiliary files,
      such as the xib files that are used to construct the GUI.


* LICENSE

The GrandPerspective application has been released as Open Source 
under the GNU General Public License. See COPYING.txt for details.


* THE WEBSITE

For more information about the application, please visit the website
at http://grandperspectiv.sourceforge.net. From there, you can 
download the latest release of the software. It is also possible to
report bugs, make a donation, suggest additional features, provide 
more general feedback, etc.


* CREDITS

Special thanks to all that have provided localizations of the 
application: Albert Leng, Alp Tunc, Aristóteles Soares Benicio, Klaus
Rade, Chris Li, Maxime Hadjinlian, Javier Alfonso and Helge Baumann.

Many thanks to everyone that has shown support by making donations. 
They have been used to fund the required upgrade to Leopard, which has 
enabled me to build Universal Binaries.

Thanks to Aaron Madlon-Kay for noticing, investigating and fixing the
scan data format compatibility problem caused by a small datetime 
formatting change introduced in OS X 10.11 and for updating the source
code for XCode 7.2.

Also thanks to Martin Kahr who made Universal Binaries available for
early releases of GrandPerspective, and to Craig Hughes who helped me
early on to make the source code Intel-compatible.

Thanks to Miles Ponson (iTweek) for providing the free set of "knobs"
icons, three of which I used for the toolbar (the images for the 
Reveal, Delete and Rescan actions to be precise; the Open icon is my
own concoction).

Thanks to Keith Blount for developing and making available the source
code of various handy utility classes. His KBPopUpToolbarItem class
provides the pop-up menu functionality of the Rescan button in the
toolbar.

Thanks to the many users that have reported bugs and suggested
improvements. This has definitely made the application better than it
would otherwise have been. Lucky0 deserves a special mention for the 
amount of useful feedback given. 

Finally thanks to all that have helped to get the word out about the
application. Developing the application may be fun, but having actual
users makes it worthwhile.


* CONTACT DETAILS

The GrandPerspective application has been developed by Erwin Bonsma.
Please visit the website at http://grandperspectiv.sourceforge.net for
details on how to contact me.


======================================================================
  GrandPerspective Change Log
======================================================================

----------------------------------------------------------------------
  Version 2.3.0, 08-12-2019
----------------------------------------------------------------------

New functionality:
- Added ability to export scan data as text
  - Configurable column selection. Options: Path, Filename, Size,
    Type, Creation time, Modification Time, and Last access time
  - You can optionally add a header

Minor improvements:
- Updated help on how to identify miscellaneous used space

Bug fixes:
- Fixed: Incorrect times stored in saved Scan Data [#78]
- Fixed: Starting a scan via Start Window scans wrong folder after a
  scan has been performed [#79]


----------------------------------------------------------------------
  Version 2.2.3, 15-08-2019
----------------------------------------------------------------------

Minor improvement:
- Simplified way of selecting folder to scan in the Start Window

New localization:
- Portuguese, by Aristóteles Soares Benicio


----------------------------------------------------------------------
  Version 2.2.2, 04-08-2019
----------------------------------------------------------------------

Bug fixes:
- Fixed: Crash when scanning certain folders in macOS 10.15 (Catalina
  beta) [#76]
- Fixed: Crash when determining delete permission (Catalina beta)
- Fixed: Do not scan contents of Data volume twice (Catalina beta)


----------------------------------------------------------------------
  Version 2.2.1, 05-05-2019
----------------------------------------------------------------------

Minor improvements:
- Extended help with Tally file size measure
- Extended help to document how to grant Full Disk Access

Bug fix:
- Minor fix to highlighting of path in status bar


----------------------------------------------------------------------
  Version 2.2.0, 21-03-2019
----------------------------------------------------------------------

New functionality:
- Added "Tally" file size measure [#43]

Minor improvements:
- Improved look of toolbar in Dark Mode
- Re-enabled Services for initiating Scan and loading Scan Dumps
- Minor improvements to auto-layout

Bug fixes:
- Fixed: Status bar does not have correct Dark Mode [#73]
- Fixed: Crash due to assertion failure in ScanProgressTracker [#72]


----------------------------------------------------------------------
  Version 2.1.2, 18-12-2018
----------------------------------------------------------------------

Minor fix:
- Defined LSMinimumSystemVersion (to pass App Store validation)


----------------------------------------------------------------------
  Version 2.1.1, 10-12-2018
----------------------------------------------------------------------

Minor improvements:
- Also show Welcome window after aborting a scan or load task
- Enabled symbol generation (to facilitate analysing crash reports)
- Re-enabled optional verbose logging when scanning
- Changed default file size measure to physical

Bug fixes:
- Fixed: Cancelling a scan can cause a crash [#68]
- Fixed: Crash when showing alert after scanning [#69]


----------------------------------------------------------------------
  Version 2.1.0, 07-12-2018
----------------------------------------------------------------------

Minor improvements:
- After scan show warning when the logical file size was larger than
  the actual (physical) file size
- Extended help on file sizes to cover sparse files [#88] and
  online-only Dropbox files [#80]
- Added configuration setting for specifying behaviour after the last
  view window closes. Options are:
  - Do nothing
  - Quit [#84]
  - Show Welcome window [#82]
- Auto-close welcome window after an external action [#83]
- Notarized the application for additional assurance

Bug fixes:
- Fixed: Can't quit/about from welcome dialog [#60]
- Fixed: View-dependent menu items sometimes wrongly enabled [#64]
- Fixed: "Failed to initialize color list unarchiver" on macOS Mojave
  [#66]
- Fixed: Exception when moving focus up [#67]


----------------------------------------------------------------------
  Version 2.0.0 (localized v1), 22-10-2018
----------------------------------------------------------------------

New localization:
- German, by Klaus Rade

Other localizations:
- Chinese (Simplified), by Albert Leng
- Turkish, by Alp Tunc
- Dutch, by Erwin Bonsma


----------------------------------------------------------------------
  Version 2.0.0, 04-02-2018
----------------------------------------------------------------------

Improvements:
- Significantly reduced scan-time on macOS 10.13 (and up). It is about
  eight times faster now
  - Note: On earlier versions of macOS scanning is about 60% slower
- Significantly reduced memory usage when writing scan data
- Significantly reduced memory usage when reading scan data

Refactoring:
- Changed scanning to use NSDirectoryEnumerator instead of deprecated
  FSGetCatalogInfoBulk API
- Changed source code layout to switch to 100 character line limit
- Changed internal component representation for FileItems
- Removed use of deprecated tableView:writeRows:toPasteboard API

Bug fixes:
- Fixed: Slow scan macOS 10.13 [#53]
- Fixed: Cannot correctly close windows/pop-ups [#54]
- Fixed: Remove button does not work in Filter Test Window
- Fixed: The Save Image dialog can add a decimal separator to the
  width and height fields, which can result in images being stored
  with incorrect dimensions.
- Fixed: Cancelling read of scan data occasionally triggers a crash


----------------------------------------------------------------------
  Version 1.9.1 (localized v2), 19-11-2017
----------------------------------------------------------------------

New localization:
- Turkish, by Alp Tunc

Other localizations:
- Chinese (Simplified), by Albert Leng
- Dutch, by Erwin Bonsma


----------------------------------------------------------------------
  Version 1.9.1 (localized v1), 08-11-2017
----------------------------------------------------------------------

New localization:
- Chinese (Simplified), by Albert Leng

Other localizations:
- Dutch, by Erwin Bonsma


----------------------------------------------------------------------
  Version 1.9.1, 05—03-2017
----------------------------------------------------------------------

Minor improvements:
- Extended Help with section on "How to determine what is taking up
  miscellaneous used space"

Bug fix:
- Fixed: Quick Look panel does not close after selection change. [#78]


----------------------------------------------------------------------
  Version 1.9.0, 26—02-2017
----------------------------------------------------------------------

New functionality:
- Added ability to preview selected items using Quick Look. [#58]
- Added controls to toolbar to reset zoom and focus. [#60]

Minor improvements:
- Extended Help on file size measures to describe how GrandPerspective
  reports the size of HFS+ compressed files.
- Extended Help with howto on scanning packages.

Minor refactoring:
- Cleaned up code to resolve compiler warnings generated by XCode 8.0.

Bug fixes:
- Fixed: Dock icon does not accept drag and drop. [#49]
- Fixed: Assertion failure when load of scan tree was cancelled.


----------------------------------------------------------------------
  Version 1.8.1, 31—08-2016
----------------------------------------------------------------------

Bug fixes:
- Fixed: The previous version was published incorrectly, which caused
  the following error "GrandPerspective is damaged and can’t be
  opened"
- Fixed: Including actual help documentation (instead of place-holder
  help)
- Minor fixes to app to be compatible with App Store requirements:
  changed install path, set application category type, and updated
  CFBundleDocumentTypes.


----------------------------------------------------------------------
  Version 1.8.0, 30—08-2016
----------------------------------------------------------------------

Improvements:
- Updated the application to support Base Internationalization. This
  makes it easier for other contributors to provide translations for
  other locales.
- Updated the progress panels to replace details of folder being
  scanned by a determinate progress bar.

Minor improvements:
- Extended Help with section "How To Handle Crashes when Scanning" to
  document the -logAll commandline argument.
- Extended Help with section "How to explain differences in reported
  sizes" which covers the various intricacies in this area.

Bug fixes:
- Fixed: The Uniform Type Ranking window did not always open again
  after it had been closed. [#39]
- Fixed: Let Escape key close Filter Selection Panel, Welcome
  Window, and Filters Window. [#40]
- Fixed: When the free size reported by the system was not fully
  accurate, the miscellaneous used space was incorrectly set to a
  huge value. [#41]
- Fixed: Using the same filter more than once failed because of an
  assert failure. [#43]
- Fixed: Rescan did not work on views created by filtering an existing
  view. [#44]
- Fixed: The filter description in the Filter window was not always
  updated when the selected filter view changed.


----------------------------------------------------------------------
  Version 1.7.0, 05-05-2016
----------------------------------------------------------------------

New functionality:
- Added "Recent Scans" menu item to easily repeat common scans across
  invocations of the app.
- Added Welcome window on start-up (instead of popping up Scan
  Dialog).
  - The new window shows the application icon to clearly associate it
    with the app, as well as a random tagline describing the app.
  - The new window still lets you start a new scan.
  - The new window also offers the ability to repeat a recent scan or
    to go to the help documentation, which may help new users.
- Prepared app for distribution in Mac App Store by enabling sandbox
  - Delete options will be disabled when the app does not have the
    necessary write permissions.

Minor improvements:
- Extended Help with "Quick Start" section.

Bug fixes:
- Fixed three minor memory leaks.


----------------------------------------------------------------------
  Version 1.5.3, 24-04-2016
----------------------------------------------------------------------

Minor improvements:
- Digitally signed application to avoid Gatekeeper security warning,
  at least, as long as you allow apps downloaded from "Mac App Store 
  and identified developers" 
- Updated app icons to add Retina resolutions


----------------------------------------------------------------------
  Version 1.5.2, 17-04-2016
----------------------------------------------------------------------

Minor improvements:
- Extended "No Version control" filter to also exclude Mercurial, git
  and Bazaar admin folders

Refactoring:
- Moved source code from svn to git

Bug fixes:
- Fixed reading/writing of datetime values when loading/saving scan
  date to reflect changes in default date format introduced in OS X 
  10.11 [#37]
- Updated source code for XCode 7.2. Fixed various warnings [#38]


----------------------------------------------------------------------
  Version 1.5.1, 25-08-2012
----------------------------------------------------------------------

Minor improvements:
- Added support for reporting file sizes with decimal-based units 
  (where 1 kB is 1000 bytes instead of 1024 bytes). [#3556570]
- Added ability to copy path of selected item to paste board.
  [#3537974]

Bug fixes:
- Fixed bug: Rescanning a deleted directory could crash the app
  [#3552571]


----------------------------------------------------------------------
  Version 1.5.0, 30-04-2012
----------------------------------------------------------------------

New functionality:
- Added color mappings based on creation, modification and access 
  time:
  - Added heatmap palettes optimized for usage in time-based mappings.
  - Extended the focus panel to also show the creation, modification
    and last access time for the selected file.

Minor improvements:
- Sorting items in pop-ups alphabetically.
- Removed dependencies on deprecated methods.

Bug fixes:
- Fixed bug: Revealing of files did not work on loaded scan data.
- Fixed bug: Scan data could not be loaded when file names contained
  strange characters (e.g. linebreaks and non-printing characters)
- Fixed bug: Application could crash because disposed views were still
  observing events.


----------------------------------------------------------------------
  Version 1.3.4, 27-03-2012
----------------------------------------------------------------------

Minor improvements:
- Automatically show Scan dialog when opening application.
- Added preference for showing entire volume.
- Improved labels and layout of preferences dialog.
- Changed keyboard short-cuts for File commands to match standard 
  look & feel.
- Made source code compatible with XCode 4.3.

Bug fixes:
- Fixed bug #3498256 by removing check introduced to track bug 
  #2989277.
- Fixed bug: Using path-based tests in filters or masks in combination
  with zero sized directories could prematuraly free memory.
- Fixed bug: Mask settings were not carried over when twinning or
  duplicating windows.


----------------------------------------------------------------------
  Version 1.3.3, 24-05-2010
----------------------------------------------------------------------

Minor improvements:
- Made usage of memory zones for scan tree configurable (default,
  dedicated shared, or dedicated private). Now defaulting to default
  memory zone.
- Added checks and verbose logging in TreeBuilder to help trace bug 
  #2989277: Crashes on Scan of Boot Volume.
- Minor fix to TmpDirInfo-dealloc (may fix bug #2989277?)

Bug fixes:
- Plugged a big memory leak: The scan tree was never released.
- Plugged a small memory leak in UniformTypeInventory.


----------------------------------------------------------------------
  Version 1.3.2, 17-04-2010
----------------------------------------------------------------------

Minor improvements:
- Added two more rescan commands: "Rescan folder in view" and "Rescan
  selected".
  - Both commands are available from the toolbar by way of a pop-up 
    menu. Thanks to Keith Blount for sharing the delayed pop-up code 
    that enables this.
  - "Rescan selected" is also available from the context menu.
  - In the Preferences you can specify the default rescan action.
- The selection does not have to be locked anymore for the context 
  menu to be available.
- Added optional detailed logging when scanning (useful for 
  troubleshooting).

Bug fix:
- Fixed bug: After a rescan the focus can move down when it should.


----------------------------------------------------------------------
  Version 1.3.1, 13-03-2010
----------------------------------------------------------------------

Minor improvement:
- Application now also accepts drops of folders and volumes (Feature 
  request #2789715)
- Exported Scan Folder and Load Scan Data as a service.
  - Added Services menu item to application menu (it wouldn't be fair
    otherwise now, would it? ;-)

Bug fix:
- Fixed bug #2935266: Cannot open or reveal files with slashes in 
  their names.


----------------------------------------------------------------------
  Version 1.3.0, 17-01-2010
----------------------------------------------------------------------

New functionality:
- Improvements to filters (and masks):
  - All filters now have names that can be used to select them:
    - Select filters from the new filter selection panel.
    - Select masks using a pop-up button in the Display panel.
  - The application comes with a couple of filters out of the box.
  - User-created filters are automatically stored in the preferences
    so you can use them again later.
  - Scan dumps now include information about filters that were used,
    both their names as well as the filter tests they contain. 
  - Enabled individual inversion of tests in a filter.

Refactoring:
- Converted all NIBs to XIBs.
- Renamed several windows and their control classes.

Bug fix:
- Fixed bug #1947382: Typing return in Rule Name field can cause rule
  completion.


----------------------------------------------------------------------
  Version 1.1.0, 26-09-2009
----------------------------------------------------------------------

Minor improvements:
- Added number of scanned and deleted files to Info panel.
- Added Rescan button to toolbar.
- Rescan can now optionally close the old window.
- Added context menu to views to let you Reveal, Open and Delete
  selected files.
- Added ability to store user-editable comments with saved scan data.
- Scan data is now stored in files with a .gpscan extension.
  - These files have their own icon and filetype, and are associated
    with the application.
- You can now invoke the application from the command line with:
  - a path of a folder to scan, or
  - a path of a scan data file to load.

Bug fixes:
- Fixed bug #2562846: Failure to load scan data
  - Incorrect saving of scan data in OS X 10.4 should be fixed now.
- Freed space did not correctly reflect deletion of hard-linked files.

Documentation:
- Added various advanced "How To" sections to the help documentation.


----------------------------------------------------------------------
  Version 1.0 (localized), 22-12-2008
----------------------------------------------------------------------

Updated localizations:
- Japanese, by Chris Li
- French, by Maxime Hadjinlian
- Dutch, by Erwin Bonsma


----------------------------------------------------------------------
  Version 1.0, 22-12-2008
----------------------------------------------------------------------

New functionality:
- Added a customizable toolbar, including new controls:
  - Added control for changing the focus (which previously could only 
    be done using the keyboard or scrollwheel).
  - Added new "Open with Finder" action (not to be confused with
    existing "Reveal in Finder" action).

Minor improvements:
- Improvements to the appearance of the view window:
  - Moved info about selected item to statusbar.
  - Removed borders around view.
  - Not showing rectangle around outermost item in the selected path
    unless necessary.
- Positioning newly opened view windows so they cascade.
- When creating a derived view window its size matches that of the 
  original window.
- Sorted the available tests in the "Edit Filter" window by name.
- Sibling directories are scanned depending on their creation date 
  (oldest first). This deterministic ordering is particularly helpful
  when scanning an entire TimeMachine backup as hard-linked files 
  will be included in the backup where they first appeared.
- Made selection automatically stick to end-point when reaching a
  file after moving selection down a level.
- When resizing the window the view is still being shown.
- Added keyboard shortcuts for zooming.
- Added menu item for visiting the GrandPerspective website.
- The selection only follows the mouse when the view window has main
  status.
- Now also setting hardlink and package status for root of scan tree.
- Showing an alert when an invalid date value is encountered when
  loading scan data.
- Alerts created by a view window are now all shown as sheets of that
  window.
- Moved horizontal drawers away from the window's left edge.
- The initial size of windows and the color gradient for drawing
  rectangles in the view are now taken from the user defaults.
- Moved description of file type in Focus panel from separate text
  field to tooltip of the file type identifier.

Bug fixes:
- Included workaround for bug #2243134 (crash while scanning NTFS 
  mounted filesystem).
- Coloring by Level would end up in endless loop for packages at 
  level zero when package contents were hidden. Not anymore.
- Aborting a drawing task that was just about to complete could 
  result in premature aborting of next task. Not anymore.
- Closed Edit Mask windows would reappear when the application 
  got activated again after reactivation. They now remain hidden.

Code clean-up:
- Renamed FileItem -isSpecial to -isPhysical (and inverted meaning)
- Simplified abortion of background tasks (removed enabled state 
  from TaskExecutor).
- Moved zoom and focus functionality to DirectoryView.


----------------------------------------------------------------------
  Version 0.9.13.1 (localized), 01-10-2008
----------------------------------------------------------------------

Updated localizations:
- Japanese, by Chris Li
- Spanish, by Javier Alfonso
- French, by Maxime Hadjinlian
- Dutch, by Erwin Bonsma


----------------------------------------------------------------------
  Version 0.9.13.1, 29-08-2008
----------------------------------------------------------------------

Bug fixes:
- Fixed "silly typo" bug that caused crashes when scanning. 
- Failures of FSRefMakePath do not abort scanning anymore, but are
  handled gracefully instead.


----------------------------------------------------------------------
  Version 0.9.13, 26-08-2008
----------------------------------------------------------------------

New functionality:
- Scan data can now be saved to an XML file and loaded again at a 
  later time.
- Progress of ongoing scan, filter, save, and load tasks is now 
  reported.

Minor improvements:
- All text fields in the view's drawer are now selectable.
- Views are immediately cleared when they are resized.
- Reduced the amount of memory needed when scanning and filtering.
- The trees used to store scan results are now stored in a dedicated
  memory zone to minimise fragmentation and optimise memory usage.

Bug fixes:
- Plugged a big memory leak. The image was not released when the view
  was resized. This has been fixed.
- The drawer of the Edit Filter window could be detached from its
  window. This cannot happen anymore.
- Aborting a filter task would create a view anyway. Not anymore.
- Now obtaining readlock on the tree before filtering.

Code clean-up:
- Replaced all remaining NSBrowsers by NSTableViews.
- Moved TaskExecutor protocol from "util" folder to "task".
- Placed ProgressPanelControl and its new subclasses into the 
  "control/progress" subfolder.
- Renamed various classes and methods.


----------------------------------------------------------------------
  Version 0.9.12.1, 14-06-2008
----------------------------------------------------------------------

Bug fix:
- [1990250] Applying a Path test on folders in a filter could crash
  the application. This has been fixed.

Minor improvements:
- Extended help documentation to better explain how tests on folders
  function.


----------------------------------------------------------------------
  Version 0.9.12, 10-06-2008
----------------------------------------------------------------------

New functionality:
- Hard-linked files and folders are recognized and handled
  appropriately.
- Mask and filter rules can now optionally be applied to folders.
- Added Filtered Scan command, which lets you apply a filter while
  scanning.
- Optionally showing package contents.
- Added several new tests for mask and filter rules (on file type,
  package status, and hard link status)

Minor improvements:
- Improved application-default ranking of uniform types.
- Added new application-provided tests (Packages and Hard-linked 
  items) and updated existing ones.
- Improved GUI of "Edit Filter Rule" window.
- Made progress panel resizable.
- Case-sensitivity of string tests is now reflected in their
  description.

Bug fixes:
- Files inside a package can now be revealed (unless the package is
  itself in a package).
- Filtering produced corrupt trees (PlainFileItems were replaced by
  FileItems), which could trigger various exceptions. This has been
  fixed.
- Fixed synchronisation in TreeContext.
- AsynchronousTaskManager now unlocks its locks before releasing them.

Code clean-up:
- Introduced ItemPathModelView for managing view-specific selection
  path state.
- Introduced FilteredTreeGuide for applying masks and filters.
- FileItems are now duplicated using factory methods.
- Refactored TreeBuilder.
- Removed several warnings when compiling using XCode 3.0.
- Renamed "filter" folder to "test".
- Renamed various classes, methods and member variables.
- Removed some unnecessary nesting.


----------------------------------------------------------------------
  Version 0.9.11 (localized), 22-04-2008
----------------------------------------------------------------------

Updated localizations:
- Japanese, by Chris Li
- Dutch, by Erwin Bonsma


----------------------------------------------------------------------
  Version 0.9.11, 18-03-2008
----------------------------------------------------------------------

New functionality:
- Files and folders can now be deleted from the view window:
  - Deletion can be enabled and disabled from the Preferences, with
    optional required confirmation.
  - The view updates itself to show freed space.
  - The total amount of freed space is shown in the Info panel.
- Added coloring by file type:
  - The hierarchical Uniform Type system of OS X is used as a basis.
  - A color legend in the Display panel shows the file type that
    corresponds to each color.
  - The types that are assigned a different color can be controlled
    in the Preferences by changing the order of the uniform types.
  - The list of new uniform types is dynamically extended as new 
    types are encountered during scanning.
 
Minor improvements:
- Improved drawer of the view window:
  - The Focus panel now shows the file type of the selected item.
  - The width of the drawer can be increased.
  - Improved wrapping/scrolling of text fields in the Info panel.
- Renamed "Depth" color mapping scheme to "Level". The newly added
  color legend shows the level that is associated with each color.

Bug fixes:
- Removed race condition in view redrawing code that could trigger
  a near endless cycle of view redrawings.
- It was possible to show multiple preference panels at once. Not 
  anymore.
- Made it impossible to change the names of application-provided 
  rules. Furthermore, now correctly showing the localized namee.

Code clean-up:
- Using constants for all event strings and user default keys.
- Application defaults are now set in the Info.plist file.
- Improved reverse look-up of localized keys.
- Moved all Item classes to the "tree" folder.
- Moved all file item hashing related classes to a separate folder.


----------------------------------------------------------------------
  Version 0.9.10 (localized), 20-01-2008
----------------------------------------------------------------------

New localizations:
- Spanish, by Javier Alfonso
- French, by Maxime Hadjinlian

Updated localizations:
- Japanese, by Chris Li
- German, by Helge Baumann
- Dutch, by Erwin Bonsma


----------------------------------------------------------------------
  Version 0.9.10, 12-12-2007
----------------------------------------------------------------------

New functionality:
- Added ability to show the entire volume on which the scanned folder
  resides, including free space.
- Added ability to select folders in the view window. By default, 
  files are still selected, but you can select folders using the
  scrollwheel of the mouse or the "[" and "]" keys.

Minor improvements:
- The "Info" panel has been pimped:
  - It more elegantly shows the folder that has been scanned, 
    together with the volume it is on.
  - It now also shows the size of volume and the amount of 
    miscellaneous used space. 
- Added more color palettes, each with at least eight colors. Removed
  several old palettes that had relatively few colors.
- Made the path to the selected file more clearly visible in the view.
- Improved drawing of the view so that it does not unnecessarily
  "flash" when it is updated.

Minor meta changes:
- Changed version numbering scheme to allow this release before
  releasing Version 1.00. (Just insert a dot in the version numbers
  of all earlier releases for the new numbering to make sense)

Code clean-up:
- Drastically refactored the code in order to cleanly add the new
  functionality.


----------------------------------------------------------------------
  Version 0.99 (localized), 28-03-2007
----------------------------------------------------------------------

Updated localizations:
- Japanese, by Chris Li
- German, by Helge Baumann
- Dutch, by Erwin Bonsma


----------------------------------------------------------------------
  Version 0.99, 24-02-2007
----------------------------------------------------------------------

New functionality:
- Added choice of file size measure. You can choose between logical
  file size (the default), and physical file size.
- Added help. Hopefully rarely needed, but at least it exists.

Changes to the release files:
- The application has been released as a Universal Binary.
- The source release has been extended, and now includes everything
  needed to build the application. Newly included:
  - The (cleaned up) project file.
  - The help documentation.
  - All Dutch resources (as an example for other localizers).

Tiny changes:
- Made titles of various panels and their default buttons more
  specific.
- Moved all localizable names into new Names.strings file.
- Moved all color palettes into "Palettes" subfolder.
- Enlarged bounding box of text fields where there was room (to
  facilitate localization).

Bug fixes:
- Enabling a filename or path test without specifying any strings 
  does not give an error anymore.
- It was possible to specify a negative file size bound, which
  resulted in a very large size. Not any more.
- It was possible (to attempt) to save an image with a dimension that
  was zero or negative. This resulted in an exception. Not anymore.
- When a "void" test was returned after adding or editing a mask or
  filter rule an exception occurred. This has been fixed.


----------------------------------------------------------------------
  Version 0.98 (localized), 09-01-2007
----------------------------------------------------------------------

Updated localizations:
- Japanese, by Chris Li
- German, by Helge Baumann
- Dutch, by Erwin Bonsma


----------------------------------------------------------------------
  Version 0.98, 15-12-2006
----------------------------------------------------------------------

New functionality:
- Masking and filtering rules that are created (or modified) by the 
  user are now stored in the user preferences so that they are
  available next time the application is run.
- The default file item tests are now read from the information
  properties file, instead of being hardcoded in the application.
- String tests support case-insensitive matching.
- Now also showing human-friendly file sizes in the Info and Focus
  panels.
- Added button for removing all tests from the filter in the
  "Edit Filter" window.

Minor improvements:
- The path test now applies to path of the folder where the file item
  resides (excluding the name of the file itself). This way it better
  complements the name test.
- Path strings are cached during filtering or drawing of the file
  item tree for improved performance.
- Changed size of main window to 640x480.
- Internationalized the OK and Cancel buttons of alert panels.

Bug fix:
- When an image was saved, the "Clown Barf" palette was always used, 
  irrespective of the palette used by the view. This has been fixed.
- The CFBundleSignature, CFBundleIdentifier, and CFBundleVersion 
  properties in Info.plist were not set correctly. This, for instance,
  meant that preferences were incorrectly associated with the 
  example com.apple.myCocoaApp application. This has been fixed.


----------------------------------------------------------------------
  Version 0.97 (localized), 10-12-2006
----------------------------------------------------------------------

New localizations:
- Japanese, by Chris Li
- German, by Helge Baumann
- Dutch, by Erwin Bonsma


----------------------------------------------------------------------
  Version 0.97, 14-11-2006
----------------------------------------------------------------------

New functionality:
- There is now a choice of color palettes.
  - The palettes that can be chosen have been taken from the 
    ColorSchemer gallery at http://www.colorschemer.com/schemes/.
    Thanks to the following users for providing one or more color 
    schemes: copperblue, tumuchtime, Jalle, Nemoflow, and rageforst.
- Preferences can now be changed and stored. This means that you
  can change the default color mapping and default color palette.
- The application has been fully internationalized. This means that
  localized versions can now be generated.
  - See LOCALIZATION.TXT for details on how you can help to make
    GrandPerspective available in your language.

Minor improvements:
- Zero-sized items are not included in the tree anymore. This 
  reduces the memory footprint and stops tree paths from being 
  drawn when the tree has a total size of zero.

Code clean-up:
- Renamed FileItemHashingOptions to FileItemHashingCollection and
  more generally made it match the new ColorListCollection class.
  Also renamed instances of FileItemHashing to colorMapping.

Bug fixes:
- Closing Filter Window would freeze application (see 1562627)
- Selecting an empty filter would throw an assertion (see 1562627).
- It used to be possible for a test that was not available to be 
  selected anyway, which could cause various anomalous behaviours.


----------------------------------------------------------------------
  Version 0.96, 12-08-2006
----------------------------------------------------------------------

New functionality:
- Added ability to filter a directory view window, which generates a
  new window with a "filtered view". The filter determines which
  files are shown in the new window.
  - If a filter has been applied this is reflected in the window
    title.
- Added a drawer to directory view windows. It has three panels:
  - An "Info" panel with details about the files that are shown in
    the view, including:
    - the time of scan,
    - the folder that was scanned, and
    - details of the filter that has been applied (if any).
  - A "Display" panel for configuring the way the view is drawn.
    Here you can specify:
    - how files are colored, and
    - the mask that is used (if any).
  - A "Focus" panel with details about:
    - the folder that is currently shown in the view, and
    - the file that is currently selected.

- Tiny changes:
  - The button for revealing a file in Finder has been renamed to 
    "Reveal" (it used to be "Show").
  - The file coloring options "directory" and "top directory" have 
    been renamed to "folder" and "top folder" respectively.
  - Cosmetic changes to the "Edit Filter" window.

Code cleanup:
- The progress panel has been refactored. It is now also used when
  filtering takes place.
- All tasks and executors have been moved to a new "task" folder.
- Simplified the code that creates the attributed string for the
  selected file.
- The contents of PopUpButtons are now set in their nib file instead
  of programmatically.

Bug fix:
- Plugged a memory leak in the image drawing code.


----------------------------------------------------------------------
  Version 0.95, 05-07-2006
----------------------------------------------------------------------

New functionality:
- Added ability to mask files. When a file is masked it is not drawn,
  but still takes up space in the view. Masking files is handy for
  quickly spotting certain types of file.
  - A mask can be quickly enabled or disabled.
  - A test for masking can be created quickly by selecting one or
    more existing rules.
  - Existing rules can be edited and new ones can be created.
  - Rules can take the name of the file into account, its size, and
    its path.
  - Rules can be identified by their friendly name, but a full
    description can optionally also be shown.

Tiny changes:
- Added coloring by "top directory" option as suggested by Adrian
  Sampson (ID 1501479).
- Made color-mapping choice in directory view a pop-up button.
- Added keyboard shortcuts for Re-scan and Filter commands.
- The SaveImageDialog is now centered.

Code cleanup:
- The code is now spread across various folders.
- Made implementation of TreeLayoutTraverser protocol explicit.
- Split BalancingTreeBuilder in two: TreeBuilder and TreeBalancer.


----------------------------------------------------------------------
  Version 0.94, 09-05-2006
----------------------------------------------------------------------

New functionality:
- There is now a "rescan" command which generates an up-to-date
  window given an existing one. You can use this command after you
  have moved or deleted several files and folders.

Tiny changes:
- Window titles now include the time of the scan and, if needed, an
  additional number, to make each title unique.
- The scan progress panel now shows the name of the folder that is
  being scanned.
- Renamed the "Open" button of the directory view window to "Show".
- Renamed the "Scan directory..." command to "Scan Folder...".

Code clean up:
- Generalised the execution of background threads in the new
  AsynchronousTaskManager class, which is now used for both drawing
  and rescanning in a background thread.
- The scan progress panel has been moved into a nib of its own, and
  now has a dedicated control: ScanProgressPanelControl.

Bug fix:
- Fixed the drawing code so that it also runs properly when
  compiled for Intel Macs. Many thanks to Craig Hughes for his help
  with this.


----------------------------------------------------------------------
  Version 0.93, 22-01-2006
----------------------------------------------------------------------

New functionality:
- Selected files can now be opened in Finder. This can be used to
  examine files and folders in more detail, and to optionally remove,
  move or edit files.
- An image of the directory view can now be generated and saved (as a
  TIFF image).

Code clean up:
- Refactored ItemTreeDrawer into two classes. ItemTreeDrawer now does
  the basic drawing, and AsynchronousItemTreeDrawer manages drawing
  in a separate thread.

Bug fix:
- The thread used for drawing in the background is now properly
  terminated and disposed of when it is not needed anymore.


----------------------------------------------------------------------
  Version 0.92, 10-01-2006
----------------------------------------------------------------------

New functionality:
- Added a "twin window" command. This is like the "duplicate window"
  command, except that navigation of the directory tree in the new
  window is synchronized with its parent window.

Improved functionality:
- When duplicating a window, the file colouring scheme and the path
  in the tree are now also copied.

Code clean up:
- Refactored code so that it adheres much better to the MVC pattern.

Bug fixes:
- Fixed bug that would occassionally prevent redrawing of the
  directory view. (ID 1309819)
- Plugged a big memory leak. The directory tree is now actually freed
  when all windows that refer to it are closed.


----------------------------------------------------------------------
  Version 0.91, 30-09-2005
----------------------------------------------------------------------

- Now building with ZeroLink disabled, so that the application should
  actually run on machines other than my own. :-)

- Optimised view drawing. Drawing the tree map of my entire hard drive 
  contents at 1280x1024 resolution on my Mac Mini now takes only half
  a second.


----------------------------------------------------------------------
  Version 0.90, 20-09-2005
----------------------------------------------------------------------

First release of GrandPerspective.

Features:
- A view showing directory trees graphically:
  - Layout of files using a basic balanced tree building algorithm.
  - Drawing of files using basic gradient filling.

- Support for different file colouring schemes. Colouring by: 
  - Directory name (i.e. a hash of the name)
  - File name (i.e. a hash of the name)
  - File type (i.e. hash of file extension)
  - Nothing (all files same colour)

- Selection of a file in the view:
  - To descend into the directory tree.
  - To enable copying of file path. 

- Support for multiple windows:
  - Scan different folder and show in new window.
  - Duplication of an existing window (to view data differently).

Source: README.txt, updated 2019-12-08