CHANGES
=======

0.2.4
-----

* RELEASE 0.2.4 version
* Allow connected\_socket() to use custom timeout

0.2.3
-----

* RELEASE 0.2.3 version
* connected\_socket(): fix validation check for HAPEE >= 2.1
* Remove debugging code
* Add support for setting the timeout
* DOC: Update TODO
* Split internal classes to individual modules
* Try to smarter when we return address/port
* Remove useless object inheritance
* setup.cfg: We don't need psutil anymore
* DOC: Update docstrings

0.2.2
-----

* RELEASE 0.2.2 version
* Revert "Add 'slim' metric for servers"
* DOC: One more try to get this right
* DOC: Update docstring for address method
* Add support for changing address and port of a server
* DOC: Fix various documentation issues
* Add 'slim' metric for servers
* Don't check if ACL/MAP is a file
* Return empty list if a acl doesn't have any entries
* DOC: Change python version we use for development
* Ignore Python 3 class hierarchy of OSError errors
* Return empty list if a map doesn't have any entries
* Fix example code for show\_map function
* Fix incorrect module path for constants in docstring
* Add support for slim metric to Server object
* List server metric names in alphabetic order
* Added setaddress and address to Servers
* Fix docstrings
* Remove unused variables
* Ignore Python 3 class hierarchy of OSError errors
* Update installation instructions

0.2.1
-----

* RELEASE 0.2.1 version
* Reorder inclusion of modules
* Add docstring for isint()
* Simplify conditional statement
* Fix typos in a docstring
* Reorder inclusion of modules and remove unused exceptions
* Return False when a file isn't a valid stats socket
* Update copyright
* Pass keyword parameters in format method, fix #1

0.2.0
-----

* RELEASE 0.2.0 version
* Refactor constants for metrics
* Include a module docstring

0.1.12
------

* RELEASE 0.1.12 version
* Return zero rather None for metrics without value

0.1.11
------

* RELEASE 0.1.11 version
* Make sure we clear out possible previous errors
* Remove unnecessary keyword argument

0.1.10
------

* RELEASE 0.1.10 version
* Implement a proper retry logic for socket failures

0.1.9
-----

* RELEASE 0.1.9 version
* Improve the way we internally use values for metrics

0.1.8
-----

* RELEASE 0.1.8 version
* Remove unnecessary filtering of empty values
* Fix broken design in converter function
* fix type in README
* cosmetic fix in doc string
* extend the support of error strings returned by haproxy
* add items in the TODO list
* mention from which socket file we don't get any data

0.1.7
-----

* RELEASE 0.1.7 version
* 9fbb459 didn't fix regression from dcc5173e31deac
* better handling of error when we connect to socket
* fix a regression introduced with dcc5173e31deac

0.1.6
-----

* RELEASE 0.1.6 version
* update TODO
* fix a regression introduced with dcc5173e31deac
* add support for sending commands to haproxy
* simplify the way we send commands to socket
* add support for keyword arguments in cmd\_across\_all\_procs()
* fix (once again) format issues in TODO.rst
* fix format issues in TODO.rst
* add some ordering in our TODO items

0.1.5
-----

* RELEASE 0.1.5 version
* dummy commit to force new release as previous one got issues with git tags

0.1.4
-----

* RELEASE 0.1.4 version
* improve the way we detect proxy id changes
* fixes on comments
* update docstrings
* utils.py: calculate use the length of the correct list(filtered)
* exceptions.py: update docstrings
* README: more reStructured friendly format
* README: update release instructions
* more reStructuredText for exceptions.py

0.1.3
-----

* RELEASE 0.1.3 version
* catch ConnectionRefusedError when we send a command to the socket
* include socket file in the message when HAProxySocketError is raised
* restructure exceptions
* Update TODO
* safe one call for retrieving process creation time
* updates on TODO
* add a note in documentation about request property when frontend is in TCP mode

0.1.2
-----

* RELEASE 0.1.2 version
* internal.py: OSError exception doesn't have message attribute
* remove unnecessary declaration
* don't use relative imports as our module layout is quit flat and very short
* \_\_init\_\_.py:add version and remove ascii art
* import all exceptions in the doc rather import each one individually
* exceptions.py: use correct exception names
* add SocketTimeout exception and raise it when we got timeout after X retries
* README:fix typo
* internal.py: catch timeout exception when reading data from the socket

0.1.1
-----

* RELEASE 0.1.1 version
* remove debugging statements
* close the socket when we test if we can connect to it
* fix 2 major bugs in the way we handle the socket
* include SocketTransportError in the documentation
* internal.py: catch transport error on socket
* add exception to catch transport errors on the socket

0.1.0
-----

* RELEASE 0.1.0 version
* raise CommandFailed rather ValueError in show\_acl
* show\_acl: rename acl argument to aclid to be consistent with show\_map
* update TODO
* update docstring for acl commands

0.0.7
-----

* RELEASE 0.0.7 version
* update docstring for map commands
* haproxy: raise CommandFailed when output indicates something bad happened
* remove empty string when more than 1 line is returned by HAProxy

0.0.6
-----

* RELEASE 0.0.6 version
* internal.py: remove empty string from data returned from socket
* update TODO
* fix typo
* tiny reformatting on exceptions
* haproxy.py: explicitly check for the existence of socket directory
* Update TODO
* extend ERROR\_OUTPUT\_STRINGS to support address field
* include Socket family exceptions in the documentation
* updates on ChangeLog

0.0.5
-----

* RELEASE 0.0.5 version
* haproxy.py: reformating
* utils.py: raise an appropriate exception when we check for valid socket files
* add a bunch of exceptions for catching errors when we test socket file
* connected\_socket() perform a sanity on the date returned

0.0.4
-----

* RELEASE 0.0.4 version
* update TODO
* haproxy.py: fix a bug in add map where we forgot to set value
* haproxy.py: ignore socket files not bound to a process
* utils.py: add connected\_socket to check if a socket is bound to a process
* include six and not docopt in requirements.txt
* add requirements file for pip installations
* bump version on docs as well
* use stot metric name for fetching requests for backends/servers
* Update TODO.rst
* remove tune.rst as we don't need it anymore

0.0.3
-----

* RELEASE 0.0.3 version
* DOC: another set of updates
* rename get\_frontends to frontends
* Performance improvements due to the way we interact with stats socket
* update haproxy.cfg, give a unique name for each listen directive
* Update TODO.rst
* TODO: add and remove items
* update docstrings in few classes and functions
* DOC: add examples for server in User Guide
* DOC: add a reference to Frontend class in User Guide
* DOC: add examples for backends in User Guide
* haproxy.py: use long variable names in order to be consistent with rest of code
* DOC: add remaining examples for frontends in User Guide
* README: add missing variable
* DOC: add examples for backends in User Guide
* backend.py: remove status from BACKEND\_METRICS
* DOC: add a bunch of examples for frontends in User Guide
* DOC: add missing example code
* DOC: add more examples for HAProxy operations in the User Guide
* DOC: add examples in HAProxy section of User Guide for backends/servers
* DOC: create a reference to HAProxy class
* DOC: add a bunch of examples in HAProxy section of User Guide for Frontends
* DOC: name the 1st section properly
* DOC: Another restructure for User Guide
* DOC: restructure the section leves for User Guide
* DOC: add User Guide sections and few examples for HAProxy
* TODO: remove items which are completed
* move TODO subsection out of README and make it a section in the documentation
* bump release in the docs
* README: remove changelog section as we have it in the documentation
* docs: Add Changes section

0.0.2
-----

* RELEASE 0.0.2 version
* README: merged TODO into README
* README: documention reference doesn't need to be a section
* internal.py: wrong refactoring for \_Backend class
* refactor Pool to backend
* refactor PoolMember to Server
* major updates on docstrings to allow sphinx integration
* add sphinx doc build
* utils.py: update docstrings
* utils.py: converter didn't actually truncate towards zero for floating numbers
* utils.py update docstrings
* TODO: work in progress for updating docstrings
* internal.py: update docstrings
* internal.py: change parameter name to name for get\_frontends
* merged NOTES into TODO
* NOTES: tiny fix
* add some notes
* NOTES: use reStructuredText Markup and update it accordingly
* utils.py round the results of calculations as we don't use floating numbers
* utils.py: convert number/string only to integer
* haproxy.py: fix typo
* We don't need it anymore and it was a bad idea
* add haproxy.cfg which we use
* utils.py: we don't perform any calculation for Uptime\_sec field
* haproxy.py: docstring fix
* haproxy.py: add a bunch of properties for HAProxy process
* utils.py don't remove trailing whitespace when parse 'show info' output
* haproxy.py: perform calculation in metric() if the caller wants it
* internal.py remove unused function run\_commandold
* change license to Apache 2.0
* README.rst: add acknowledgement section
* switch to README.rst by removing README.md
* add more text in README.rst

0.0.1
-----

* Initial commit of the library in functional state
* Initial commit
