                         hsh Release Notes

Copyright (C) 2010 Alexander Taler (dissent@0--0.org)

This file is part of hsh.

hsh is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

hsh is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with hsh.  If not, see 
http://www.gnu.org/licenses/

  For more detail check the user manual.

Major Changes in version 1.-2.4
-------------------------------

  Search feature: A search window can be opened, providing pattern highlighting
  and output searching.  Documented thoroughly in the user guide.

  Jobs can now be replaced using a new hash directive, and the convenient
  keybinding M-e which provides the previous command line for editing.  The
  previous job's command line and output are discarded and replaced with the
  new command line and output, but retaining jobid and position in job lists.

  Several improvements to the history mechanism, including how the final
  history entry is handled, and navigating the history view.  history is now an
  alias to show the history view.

  Correctly handle \r characters in job output.

  Bind M-w to a new function to toggle line-wrapping.

  Create an alias, jobs, to show the list of running jobs.

  Fixed some issues with escape characters and glob patterns on the command
  line.

  cd builtin now gives error messages in a more polite fashion.

  Internal changes to text formatting and screen layout fix some minor bugs in
  display, particulary in the list views.

  Internal documentation is now generated as pydoc.

Major Changes in version 1.-2.3
-------------------------------

  The SessionList view is now the default view when a job is created, and it
  includes job output in addition to basic details of jobs.  The Home and End
  keys are useful for moving through the output, as well as Alt-H for hiding
  it.

  Correct return codes are being shown once again for #exclusive jobs.

  The current job in SessionList is always synched with the one shown in
  JobView.

  Tab characters in output are handled correctly.

  Spaces in file names are handled properly by tab completion.

  The meaning of a leading + has changed, so that it now suppresses the use of
  builtins and aliases, which is generally more useful.


Major Changes in version 1.-2.2
-------------------------------

  Job directives, specified by a # have been introduced.  Six have been defined

  Proper job control has been implemented so full-screen jobs can be suspended.
  #exclusive jobs running in the foreground work as usual with the ^Z
  character.  #piped and #pty jobs which are running full-screen can be
  backgrounded with ^Z followed by Enter.  Two ^Zs will send a ^Z to the
  process.

  Improvements to the appearance and movement of job output so that it can be
  more easily navigated and it's more obvious what is happening.  Particularly
  improved is the handling of long lines.

  Provide a way to examine and modify the environment.  This can be accessed
  using the env builtin.

  Provide command aliases, along with a way to view and modify them.  This can
  be accessed using the alias builtin.  A default list of aliases is included,
  particularly useful for specifying process to run in alternative terminal
  modes.

  Curses drawing has been moved into its own dedicated thread.

  Better backward and forward compatibility so multiple versions of hsh can
  coexist.

Current Issues
--------------

This list contains the largest known issues, a more complete list can be found
in the developer manual.

  Sometimes when hsh reclaims the terminal from a full-screen #piped or #pty
  program the terminal drawing is messed up, and most of the screen is drawn
  above where it should be.  The problem can be fixed by resizing the terminal,
  and it doesn't affect terminals with fewer than 25 lines.

  Sometimes the first keystroke to a full-screen program is lost.  This happens
  if it's an extended keystroke like an arrow key, and the program is in #piped
  or #pty mode.

  Job output is not displayed for jobs loaded from disk.

  Alert messages can hang around long after they are meaningful.

  There should be a way to disable logging if the user wants to enter something
  secret like a password, or view secret output.  This can be achieved by
  running the job #exclusive, but should be available in other modes too.

  Typing a glob symbol as part of the command name causes an exception when it
  should only raise an alert.

  Some interactive programs like sftp only display the prompt after the user
  has submitted a command.

  Deleting a job from the session list also removes it from command history.

  If a job is left marked as running even though it's not, there's no way for
  hsh to delete it.

  hsh doesn't distinguish between running jobs it created, and those created by
  other instances.

  Display can flicker a bit when the terminal is very large.

  The Python globbing library can't match literal glob characters (*, ?, etc.)
  so completions with these may not work as expected.

