CHANGES

2.3.0

  • ignore Command docstring when looking for descriptions
  • let the Command get its one-liner description from a class attribute
  • flake8 fix
  • Replace dashes and colons when using bash formatter
  • Show entire command in error message
  • Updated from global requirements
  • Updated from global requirements
  • Fix spelling mistake
  • Add Python 3.5 classifier and venv
  • Updated from global requirements
  • Changed the home-page link
  • Add Apache 2.0 license to source file
  • Updated from global requirements
  • Updated from global requirements
  • Updated from global requirements
  • Updated from global requirements
  • Clean imports in code

2.2.0

  • Avoid ASCII encoding errors when output is redirected
  • Fix cliff URLs in doc and demoapp
  • Remove announce.rst
  • Fix Command class doc typo
  • Updated from global requirements
  • Fixed broken link
  • add formattable columns concept
  • Add tests, cover more cases
  • Updated from global requirements
  • pep8: fix F405 error
  • command: make run() return take_action() value

2.1.0

  • Updated from global requirements
  • Update –max-width help
  • Add more test coverage for shell formatter
  • Add more test coverage for CSV formatter
  • Support multiple sub commands in completion
  • Factorize more test data
  • Factorize some test data
  • Factorize common test code
  • Factorize argparse importing
  • Updated from global requirements
  • Updated from global requirements
  • Add CLIFF_MAX_TERM_WIDTH envvar to complement –max-width
  • Fix prettytable.PrettyTable().max_width wrong usage
  • Fix AttributeError when entry point load failed
  • Distinguish no existed columns in ShowOne
  • Refactor HelpCommand
  • Updated from global requirements
  • Remove httplib2 from test-requirements.txt
  • Sync help message for –help

2.0.0

  • handle empty list in table formatter

1.17.0

  • Drop Python 2.6 support
  • Revert “app,command: disallow abbrev by default”
  • Fixes terminal_width on Windows

1.16.0

  • Updated from global requirements
  • remove openstack-common.conf
  • Add doc for deferred_help parameter
  • Fix pep8 failure
  • app,command: disallow abbrev by default
  • app: work-around abbrev
  • remove unnecessary dependency on argparse
  • Make verbose and quiet mutually exclusive
  • setup: fix Python versions classifiers
  • Don’t import unused logging
  • Don’t use non-existent method of Mock
  • Replace dashes with underscores in bash completion
  • Updated from global requirements
  • Resize columns to fit screen width
  • fix fuzzy search for same-distance case
  • Correct path to docs
  • only use unicodecsv for python 2.x
  • Fix test class docstring for py 3.5

1.15.0

  • Replace ‘r’ with ‘ ‘ for prettytable
  • Implement a json formatter in cliff
  • Implement a yaml formatter in cliff
  • Updated from global requirements
  • Improve help messages

1.14.0

  • Add csv formatter test
  • Fix encoding issue with the default python csv output
  • Remove py26 as a default test from tox.ini
  • Set demo app up with deferred help
  • Add command fuzzy matching
  • Updated from global requirements
  • Remove requirements.txt from tox.ini
  • Updated from global requirements
  • Updated from global requirements
  • Allow subcommands to accept –help when using ‘deferred_help’
  • Updated from global requirements
  • Fix logging config in demo app
  • Use base command for help test
  • Updated from global requirements
  • Include the automatically-generated changelog
  • Updated from global requirements

1.13.0

  • Fix object has no attribute debug error
  • Add some docs for list value formatter
  • Add value format for list command
  • Updated from global requirements
  • Remove run_cross_tests.sh
  • fix author contact details
  • Print help on help command

1.12.0

  • Do not check requirements when loading plugins

1.11.0

  • Catch and ignore error when locale can not be set
  • Uncap library requirements for liberty
  • Add documentation for the value formatter
  • Sort the fuzzy matches
  • Defer interactive import
  • Updated from global requirements
  • Update links to setuptools doc

1.10.1

  • Pass user command text to the Command object
  • Document print_help_if_requested method

1.10.0

  • Allow to call initialize_app when running –help
  • Hide prompt in batch/pipe mode
  • Correct completion in interactive mode
  • Change the argument passed to __init__ for help
  • Fix pep8 tests for lambda
  • Updated from global requirements
  • Fix git repo urls in tox.ini
  • Add deprecated attribute to commands
  • Workflow documentation is now in infra-manual

1.9.0

  • print the real error cmd argument
  • Updated from global requirements

1.8.0

  • Update link to docs in README
  • Bring doc build up to standard
  • Add pbr to installation requirements
  • Add more detail to the README
  • Updated from global requirements
  • Add docs environment to tox.ini
  • mock.assert_called_once() is not a valid method
  • Work toward Python 3.4 support and testing
  • warn against sorting requirements

1.7.0

  • Add release notes for 1.7.0
  • Fix stable integration tests
  • Updated from global requirements
  • Clean up default tox environment list
  • Do not allow wheels for stable tests
  • Set the main logger name to match the application
  • CSV formatter should use system-dependent line ending
  • Make show option compatible with Python 2.6
  • Use six.add_metaclass instead of __metaclass__
  • fixed typos found by RETF rules
  • The –variable option to shell format is redundant
  • Expose load_commands publicly
  • Fix wrong method name assert_called_once
  • Updated from global requirements
  • Fix pep8 failures on rule E265

1.6.1

  • Remove PrettyTable from documentation requirements
  • Fix a bug in ShellFormatter’s escaping of double quotes in strings
  • Import run_cross_tests.sh from oslo-incubator
  • add doc requirements to venv

1.6.0

  • Add max-width support for table formatter
  • Add value only output formattter
  • Update readme with links to bug tracker and source
  • Move pep8 dependency into pep8 tox test
  • Fix doc build with Python 2.6.x
  • Fix interactive mode with command line args
  • Update .gitreview after repo rename
  • Escape double quotes in shell formatter
  • Add unit test for shell formatter
  • Rename private attribute to avoid conflict
  • Sync with global requirements
  • Add integration tests with known consumers
  • update history for previous change
  • Make the formatters a private part of the command

1.5.2

  • move to pbr for packaging

1.5.1

  • add venv environ to tox config

1.5.0

  • Update history for next release
  • Move to stackforge
  • update history for stevedore change
  • Use stevedore to load formatter plugins
  • use entry points for completion plugins
  • Clean up recursive data handling
  • Always install complete command
  • attribution for bash completion work in history
  • code style fixes
  • code style fixes
  • various python code optimizations; shuffle I/O to shell classes
  • add bash complete
  • Enable debug in help mode
  • Pass the right args when pulling help from commands
  • prepare for 1.4.5 release
  • add pypy test env configuration
  • Update pyparsing dependency to 2.0.1

1.4.4

  • update for release 1.4.4
  • Re-raise Exception on debug mode
  • Add test to check if return code is 2 on unknown command
  • Return code 1 is already use, use code 2 instead
  • Reraise error on debug
  • Display better error message on unknown command, and return code 1
  • update announce file

1.4.3

  • prepare for 1.4.3 release
  • force python2.6 for that test env
  • Provide a default output encoding

1.4.2

  • prepare for release 1.4.2

1.4.1

  • prepare for release 1.4.1
  • Tighten requirements on cmd2
  • remove use of distribute in demo app
  • Fix default encoding issue with python 2.6
  • move tests into cliff package
  • add tests for dict2columns
  • Add dict2columns()
  • turn off distribute in tox

1.4

  • prep for release 1.4
  • fix flake8 issues with setup.py
  • remove the other traces of distribute
  • Remove explicit depend on distribute
  • update history for recent contribution
  • Expose instantiated interpreter instance and assign it to the ‘interpreter’ variable on the App instance
  • Update announcement for release 1.3.3

1.3.3

  • Prepare for release 1.3.3
  • declare support for python 3.3
  • cmd2 0.6.5.1 was released, and is compatible
  • Restore compatibility with Prettytable < 0.7.2

1.3.2

  • Prepare 1.3.2 release
  • Bump prettytable version accepted
  • add python 3.3 to tox
  • add style checks to tests
  • Add tests for underscore handling
  • use flake8 for style checks
  • update history.rst with convert_underscores change
  • make converting underscores optional in CommandManager
  • fix version in docs

1.3.1

  • prepare for 1.3.1 release
  • Fix PyParsing dependency
  • Fix typo
  • update history file for previous merge
  • Make list of application commands lexicographically ordered for help command in interactive mode

1.3

  • Prepare for 1.3 release
  • clean up history file
  • Document dependency on distribute
  • fix rst formatting in docstring
  • Update history file
  • Add tests for new functionality
  • Allow user to pass argparse_kwargs argument to the build_option_parser method. Those arguments gets passed to the ArgumentParser constructor

1.2.1

  • Set up for 1.2.1 release
  • Remove unused logging import
  • Fix problem with missing izip import in lister.py
  • Update announcement file for new release

1.2

  • Set up release 1.2
  • Add python2.6 support
  • remove debug print
  • remove tablib from test requirements
  • Fix logging default behavior
  • Fix interactive help command

1.1.2

  • bumping version number for release
  • remove the entry point data for the moved formatters

1.1.1

  • bump the version number to release a clean build

1.1

  • Update version and status values
  • Remove tablib formatters from core
  • fix version # in announcement

1.0

  • Doc updates for API changes. Clean up docstrings. Bump version to 1.0
  • merge API refactoring work
  • yet more pep8 work
  • fix help and tests for API change
  • Move take_action() to Command
  • more pep8 work
  • Refactor DisplayBase.run() to make it easier to override separate parts in subclasses. Rename get_data() to take_action() so subclasses that do something other than query for values have a clear place to override
  • pep8 cleanup
  • add attribution to history for the previous merge
  • Adding new line to tablib formatters
  • fix tags declaration
  • document updates for 0.7
  • disable py26 tests since I do not have an environment for running them

0.7

  • bump version
  • fix interactive command processor to handle multi-part commands, including some that use the same first word as existing commands
  • declare a couple of commands that use builtin command names but use multiple words
  • update changelog
  • set the interactive mode flag before initializing the app so subclasses can check it; handle initialization errors more cleanly
  • add travis-ci status image to developer docs
  • add travis-ci status image to README
  • add a requirements file for travis-ci
  • bogus commit to trigger ci build
  • add travis-ci.org configuration file
  • add version num to history file

0.6

  • bump version number
  • pass more details to initialize_app so subclasses can decide what sort of initialization to do
  • enable to use in Python2.6

0.5.1

  • remove hard version requirement to unbreak the OpenStack build

0.5

  • prepare for 0.5 release
  • document changes in history file
  • make the organization of the classes page a little more clear
  • update formatter documentation
  • fix yaml, html, and json show formatters
  • move the column option so it applies to “show” commands, too
  • add yaml, json, and html formatters
  • move the columns option out of the table formatter and into the lister base
  • make help list commands if none match exactly; fixes #8
  • require at least PrettyTable 0.6 for Python 3 support, fixes #7
  • changes in the prettytable API rolled into the python 3 support update
  • add a tox stage for pep8 testing
  • python 3.2 does not have a unicode type so ignore the error if it is missing
  • move todo list to github issues
  • update todo list
  • note about prettytable and python3
  • refactor ShowOne and Lister to share a common base class
  • more todo notes
  • tests for cliff.help
  • pass the App to the help action instead of passing just the command manager, since the app has the stout handle we want to use for printing the help
  • 100% coverage of cliff.command
  • 100% coverage for commandmanager.py
  • 100% coverage of cliff.app module
  • let the interactive app set its own prompt
  • add tests for App and fix an issue with error handling and clean_up() in python 3
  • use the stderr handle given to the app instead of assuming the default

0.4

  • version number and release note updates for 0.4
  • documentation improvements
  • simplify packaging file for demo app
  • ignore files generated by dev environment
  • first pass at interactive app
  • note to add more options to csv formatter
  • add –prefix option for shell formatter; add docs for shell formatter
  • clean up help text for the other formatters
  • add shell output formatter for single items
  • add longer docstring to show how it is printed by help
  • update todo list
  • fix typo in blog post

0.3

  • update blog announcement
  • bump the version number and update the release notes
  • add ShowOne base class for commands that need to show properties of an individual object make the table formatter work as a single object formatter update the docs for the new features
  • handle an empty data set
  • correct the doctoring
  • fix version # in doc build script
  • 0.2 release announcement post

0.2

  • bump version number
  • start a release log
  • update doc instructions for getting help
  • only show the one-line description in the command list; add a description of “help”
  • register a custom help action that knows how to print the list of commands available and a help command to generate help for the other commands
  • provide an internal API for applications to register commands without going through setuptools (used for help handler)
  • Use argparse for global arguments
  • fix doc build instructions
  • add some developer instructions and links ot the source repo and bug tracker
  • add announcement blog post source
  • advice from the distutils list was to stick with distribute for now
  • add Makefile with some common release operations
  • add example output to the list formatters
  • add a requirements file for doc build on readthedocs.org
  • add some real documentation
  • Add get_data() to the Lister base class
  • remove example that I was using as a syntax reminder
  • Add a link to the docs
  • while looking for documentation on entry points I realized distutils2 doesn’t seem to support them in the same way
  • fill in a real description of the project
  • start sphinx documentation
  • Added a bit more to the README
  • flesh out instructions for using the demo app
  • add a few more ideas
  • Added a README for the demo app
  • Added download url to both setup.py files and updated the demo setup.py with the new url

0.1

  • Added missing distribute setup file
  • move repo link to the dreamhost project
  • more to-do items
  • add demoapp to release package and clean up files being distributed from the test directory
  • notes about work still to be done
  • require PrettyTable package for the table formatter
  • improve error handling when loading formatter plugins
  • add a csv formatter for list apps
  • start creating a subclass of command for producing a list of output in different formats, using prettytable as an example formatter
  • remove unused import
  • better error handling of post-action hook in app
  • Pass the I/O streams into the app
  • add some error handling to App
  • make the log messages slightly easier to parse
  • tweak App api to make it easier to override and perform global actions before and after a command runs
  • use logging for controlling console output verbosity
  • clean up argv handling
  • install nose for tox tests
  • if no arguments are provided at all show the help message
  • replace default –help processor with one that includes the list of subcommands available
  • add debug option to nose
  • clean up dead code
  • include version info when configuring opt parse
  • Sample program with command plugins
  • first pass at an app class that can invoke commands
  • save commands using the name representation to be used in help output; don’t modify the input arg list when searching for the command; return the name of the command found so the app can stuff it into the help text of the command
  • start building command manager
  • change to apache license
  • add tox config file for tests
  • add distribute_setup.py so install works
  • add setup.py and package directory
  • add a basic description to readme
  • convert readme to rst
  • initial commit