# Changelog

## v2.4.0

### Improvements

- Add toggle to turn off evaluate API.

### Breaking changes

- Changing error code to 406 when server not configured for authentication
  but credentials are provided by client.

## v2.3.2

### Improvements

- Test files added to tar.gz and zip releases.

## v2.3.1

### Bug fixes

- Overriding deployed models.

## v2.3.0

### Improvements

- Fixed scrutinizer test run failure.

## v2.2.0

### Breaking changes

- TabPy fails with 400 when it is not configure for authentication
  but credentials are provided by client.

### Bug fixes

- When TabPy is running with no console attached it is not failing
  with 500 when trying to respond with 401 status.
- tabpy.query() failing when auth is configured.

### Improvements

- Minor code cleanup.

## v1.1.0

### Improvements

- Authorization is now required for the /info API method.
  This method did not check authentication previously. This change is
  backwards compatible with Tableau clients.
- Improved config parsing flexibility. Previously the
  TABPY_EVALUATE_TIMEOUT setting would be set to a default if
  tabpy couldn't parse the value. Now it will throw an exception
  at startup.

## v1.0.0

### Improvements

- Minor: feature name changed to analytics extensions.
- Startup script files deleted.
- Index page updated.

### Other

- TabPy is now Tableau Supported (used to be Community Supported).

## v0.9.0

### Improvements

- Models deployment doesn't depend on pip._internal anymore.
- Package size reduced.

## v0.8.13

### Improvements

- TabPy works with Python 3.8 now.
- Documentation updates with referencing Tableau Help pages.
- Added Client.remove() method for deleting deployed models.

### Bug Fixes

- Fixed failing Ctrl+C handler.
- Fixed query_timeout bug.
- Fixed None in result collection bug.
- Fixed script evaluation with missing result/return bug.
- Fixed startup failure on Windows for Python 3.8.

## v0.8.9

### Improvements

- Added Ctrl+C handler
- Added configurable buffer size for HTTP requests
- Added anvoa to supported pre-deployed models in tabpy

## v0.8.7

### Improvements

- Enabled the use of environment variables in the config file.

## v0.8.6

### Fixes

- Fixed file names for package building.
- Fixed reading version info for /info call.

## v0.8

### Improvements

- TabPy is pip package now
- Models are deployed with updated script

## v0.7

### Improvements

- Added t-test model
- Fixed models call with /evaluate for HTTPS
- Migrated to Tornado 6
- Timeout is configurable with TABPY_EVALUATE_TIMEOUT config
  file option

## v0.6.1

### Improvements

- Scripts, documentation, and integration tests for models
- Small bug fixes 
- Added request context logging as a feature controlled with
  TABPY_LOG_DETAILS configuration setting.
- Updated documentation for /info method and v1 API.
- Added integration tests.

## v0.4

### Improvements

- Added basic access authentication (all methods except /info)
- tabpy-tools can deploy models to TabPy with authentication on
- Increased unit tests coverage
- Travis CI for merge requests: unit tests executed, code style checking

## v0.3.2

### Breaking changes

- Logger configuration now is in TabPy config file.

### Improvements

- Remove versioneer and just replace it with VERSION file
- Require Python 3.6.5
- Require jsonschema to be compatible with 2.3.0
- Added setup instructions (known issues) for CentOS

## v0.3.1

- Fixed dependency on tabpy-tools in startup scripts
- Fixed Python version dependency in tabpy-server setup script

## v0.3

### Breaking changes

- The config file is now not just Python code but an actual config
- Tornado config file has a different setting for CORS
- Setup scripts are deleted - setup (if needed) happens with the startup script
- tabpy-client is tabpy-tools now

### Improvements

- Secure connection (HTTPS) is supported with Tableau 2019.2 and newer versions
- Documentation is improved with more examples added
- Versioning is done with Versioneer and github release tags
- Improved logging
- Unit tests are passing now
- Configurations for Postman and Swagger are available to use those against running TabPy

## v0.2

- Initial version
