Source

lfm / NEWS

Full commit
Version 2.0 ("Nine 1/2 weeks... ok, ok, and 3 years") - 2007/09/03:

  + tabs implemented
  + color files by extension [Andrey Skvortsov]
  + new IPC code and API; more flexible, powerful and stable
  + new un/compress vfs API, added support for .zip and .rar files
  + make sort mode per tab, not globally
  + support locale [Andrey Skvortsov]
  + speed up loading directory contents
  + speed cursor movement, don't waste much CPU
  + use logging module in lfm and pyview for debugging
  + overwrite_all_none: yes, all, no  => new options: "none", "skip all""
  + rewrite/refactor most of code to make lfm more robust and clean
  + preferences:
    - change file name preferences.py => config.py
    - use ConfigParser
  + use tempfile secure versions mkdtemp() and mkstemp()
  + added man pages [Sebastien Bacher]
  + use reST for documentation
  + check for python version 2.3 or higher in lfm and pyview
  + updated to GPL v3 license
  + and fixed lot of bugs, some of them:
    - general:
      . delete garbage if user stops action
      . run 'do_special_view_file' as dettached from lfm window
      . path expand in bookmarks ("~/") [Andrey Skvortsov]
      . an ugly traceback crash appears when user starts "lfm path" and has 
        no permissions to enter. Show error message and default to current 
        directory
      . lfm crashes when filename is not encoded with same codec than 
        g_encoding utils.{decode|encode}. Needs curses module linked against 
        ncursesw to work properly
      . sort_mix_cases = 1 performance degrades on larger dirs.
        Reported by Andrey Skvortsov
      . escape filenames with chars $ ". Reported by Andrey Skvortsov
    - user interface:
      . maximize/minimize window don't crash lfm anymore
      . dialogs appear at bad position after terminal is resized
      . handle window resize in Tree mode
      . refresh display after canceling completion dialog
      . "the size of the right pane does not fill the last column in 
        terminal if their number is odd" [Andrey Skvortsov]
      . fix crash when "df" shows entries in two different lines (device 
        name is too large, f.e. in linux lvm2 volumes)
      . if you try to enter a directory with insufficient permissions, after 
        the error message is closed the cursorline refreshes to the first line
    - compress:
      . added -i flag (--ignore-zeros) flag to tar [Andrey Skvortsov]
      . standard tar needs - for flags
    - vfs:
      . vfs.py: regenerate_file, if user stops process, tempfile can't be 
        deleted
    - find/grep:
      . escape special chars (- \ ( ) [ ]) in patterns
      . don't crash when find/grep returns no results
      . bug when matches occur in binary files
    - pyview:
      . goto line 0 in pyview showed a blank screen
      . crash in file info if filename is too long

Version 1.0 was never publically released - 2006

Version 0.92 was never publically released - 2005

Version 0.91 ("It rocks... yeah!") - 2004/06/30:

  + quite stable and robust, doesn't crash
  + faster
  + new option: show_dotfiles flag
  + new option: detach_terminal_at_exec flag: useful f.e. if you 
    want to run elinks as web browser attached to lfm terminal
  + file associations and applications can be configured in preferences
  + now each application has only 1 associated program, *breaking old .lfmrc*
  + perms dialog: users & groups sorted alphabetically
  + uncompress in other panel
  + resizing terminal works in lfm, pyview. Be careful with dialogs
  + columns size eliminated from preferences
  + 1-panel view redesigned
  + ESC closes dialogs, not lfm or pyview
  + Ctrl-D: select bookmark dialog
  + code reorganized: actions.py, vfs.py
  + added classifiers to setup.py script

Version 0.90 was never publically released

Version 0.9 ("...and the day arrived") - 2002/09/05:

  + ZIP files can be un/compressed now. ZIP vfs works too
  + added 'rebuild vfs' and 'rebuild_vfs' question / option. Configurable.
    There is no need to wait until vfs file is rebuilt
  + Applied some good patches from Bartosz Oler (liar AT furrynet DOT org):
    1. colors customization: Now you can customize the colors lfm use in
       the configuration file, 'colors' section. Each color is defined by
       a string with its name. It looks like this:
	      element foreground_color background_color
    2. Allow preferences values to contain colons in the configuration file.
    3. Lack of a bookmark's definition shouldn't be an error.
  + pyview: new features:
      - read from stdin
      - go to / set bookmarks
      - open shell
  + pyview doesn't show blank screen a the end of the file, now it shows last
    line
  + lfm works now with "from __future__ import division", prepared for Python 3.0
  + set python2 as default interpreter for setup.py, lfm, lfm.py, pyview and
    pyview.py
  + my email address has changed <inigoserna AT telefonica DOT net>
  + Bugs fixes. See ChangeLog for complete list
      - lfm:
          * create temporary files with mask 0066 and directories with perms
            0700, so only owner can read/write them
          * avoid zombie processes when using 'fork' (now fork twice or threads)
          * show correct filename when an error occurs while uncompressing file
          * don't compress '..' directory
          * when lfm exits after checking command line options, make 'lfm' shell
            script don't show path error
          * when un/compressing files cursorbar must remain in the same file
          * when, at start, lfm can't enter into a dir due to directory permissions
          * crash if len(line) == width of cursorbar window
		  * don't append '*' to historic in entries
		  * fix cursor bar position after sorting
      - pyview:
          * when user hasn't permissions to read file, exit gracefully instead
            of crashing
          * last char in file is not showed

Version 0.8 ("Close to Paradise") - 2002/03/04:

  + Implemented VFS feature to enter into .tar.gz and .tar.bz2 files
  + Panelize vfs option in find/grep implemented
  + Tree panel implemented
  + 'lfm' and 'pyview' are simple scripts now, not just a copy of the .py files.
    __init__.py contains global variables now
  + A new message window is used to show  work in progress, in place of a
    message in status bar. 'run_thread' function has been cleaned too
  + Copy / move features now use my own function to walk trees, instead of
    'shutil.copytree' which originates some problems and bugs
  + In ChangePermissions window, the cursor movement is circular now
  + Change copyright date to years 2001-2
  + I don't need a crypt / uncrypt feature, so eliminated from TODO list
  + Many bugs fixes and functions rewrites. See ChangeLog for complete list
      - lfm:
          * if panel2 shows 'a' file in panel, and in panel1 'a' is moved or
            deleted, lfm crashes
          * after moving a file cursor goes to next directory as deletion does
          * catching an exception after not been able to copy => it crashed
            when trying to delete copied files
          * "messages.SelectItem, messages.FindfilesWin, messages.MenuWin,
            messages.ChangePerms: upperleft corner disappears"
          * findgrep: fix bug: if selected file has a ':' in name
      - pyview: 
          * changing 'addch' by 'addstr' shows individual chars >= 0xA0 (meta
            chars) correctly, neither in reversed video or as 2 chars
          * "if wrap mode => fix prev/next page & up/down cursor". Now 
            they move to screen lines, not to physical lines

Version 0.7 ("Hello Darling, I'm here") - 2001/11/30:

  + 'pyview', a new pager/viewer for use with lfm or standalone,
    internally or externally. It is used as default pager too.
    Some features: Text / Hex view, backwards & forwards search, 
                   goto line/byte, un/wrap mode, documentation, ...
  + Rewrite 'show filesystems info' to use internal viewer
  + New 'run_thread' function in which almost every proccess is executed, 
    so they can be stopped and there is a working signal too.
    'do_something_on_file' does not use it
  + Implemented 'show file info'
  + Check errors when un/compressing
  + Support for .bz2
  + Removed tar 'v' flag in un/compressing
  + Fixed completition, it should work perfectly now
  + Added Ctrl-D key to delete the whole content of the EntryLine
  + Implemented help: README, NEWS, TODO, ChangeLog or COPYING files
  + Added new function to show special files: html, graphics, ...,
    so we have defined new programs and file types too
  + Added new preference: show_output_after_exec, defaults to yes
  + Fix cursor position after deleting files
  + Default configuration is now saved inmediately
  + Many other bugs fixed again (see ChangeLog)

Version 0.6 was never publically released

Version 0.5 ("Last call to London") - 2001/08/07:

  + F2 file menu, added many functions
  + F9 general menu, added many functions
  + Implemented find and grep
  + File permissions, owner and group has a window now
  + Implemented preferences, edition has to be improved, of course,
    but loading and saving works
  + Added 'show filesystems info' feature
  + Now 'q' or F10 exits to current path, see proper README section
  + Default pager changed to 'less'
  + Documentation has been improved
  + 'setup.py' now installs docs
  + Many bug fixes and functions rewrites:
      - home and end keys work ok now
      - not all people use bash-type shells, so don't use 2>&1
      - use popen2.popen3 instead of os.popen to catch messages
      - manage problems with move while files don't fit into destination
      - option 'b' does not exist in Solaris' 'du -s' command
      - fix a problem while moving files if destination has no enough space
      - many others

Version 0.4 - 2001/07/19:

  + First public release