# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
and is generated by [Changie](https://github.com/miniscruff/changie).


## 1.0.0 - 2024-02-12
### Added
* [#1079](https://github.com/edgarrmondragon/citric/issues/1079) Added `get_db_version` method to RPC client
* [#1092](https://github.com/edgarrmondragon/citric/issues/1092) Added a `Session.call` method to allow calling RPC methods without any error handling to get the raw response
### Removed
* [#1093](https://github.com/edgarrmondragon/citric/issues/1093) Removed the `Session._headers` attribute
### Documentation
* [#1057](https://github.com/edgarrmondragon/citric/issues/1057) Documented `conda install` option
* [#1092](https://github.com/edgarrmondragon/citric/issues/1092) Linked unimplemented methods to `Session.call` examples

## 0.10.0 - 2023-11-29
### Added
* [#994](https://github.com/edgarrmondragon/citric/issues/994) Experimental support for the new REST API
* [#1016](https://github.com/edgarrmondragon/citric/issues/1016) Support `DestSurveyID` parameter in RPC method `copy_survey`
* [#1026](https://github.com/edgarrmondragon/citric/issues/1026) Support `userActivationSettings` parameter in RPC method `activate_survey`
### Fixed
* [#1026](https://github.com/edgarrmondragon/citric/issues/1026) Update `types.YesNo` to include inherited (`I`) values
### Documentation
* [#1035](https://github.com/edgarrmondragon/citric/issues/1035) Document how to disable TLS certificate verification

## 0.9.0 - 2023-10-11
### Added
* [#944](https://github.com/edgarrmondragon/citric/issues/944) Add `Client.get_server_version`
* [#1005](https://github.com/edgarrmondragon/citric/issues/1005) Official support for Python 3.12
### Documentation
* [#934](https://github.com/edgarrmondragon/citric/issues/934) Report status of integration tests against multiple LimeSurvey versions
* [#964](https://github.com/edgarrmondragon/citric/issues/964) Fix GitHub archive URLs in integration test docs
* [#996](https://github.com/edgarrmondragon/citric/issues/996) Document current version in docs site

## 0.8.0 - 2023-08-22
### Added
* [#793](https://github.com/edgarrmondragon/citric/issues/793) Implement `invite_participants` in client
### Changed
* [#617](https://github.com/edgarrmondragon/citric/issues/617) Drop support for Python 3.7
### Refactored
* [#918](https://github.com/edgarrmondragon/citric/issues/918) Use latest `typing` features where possible
* [#935](https://github.com/edgarrmondragon/citric/issues/935) Use `__all__` to expose public API
### Documentation
* [#930](https://github.com/edgarrmondragon/citric/issues/930) Update duckdb notebook example
* [#934](https://github.com/edgarrmondragon/citric/issues/934) Document integration test status in readme
* [#940](https://github.com/edgarrmondragon/citric/issues/940) Fix edit button

## 0.7.2 - 2023-06-21
### Refactored
* [#894](https://github.com/edgarrmondragon/citric/issues/894) Add a `USER_AGENT` attribute to the `Session` class

## 0.7.1 - 2023-06-03
### Documentation
* [#876](https://github.com/edgarrmondragon/citric/issues/876) Update contributing documentation

## 0.7.1-b3 - 2023-06-01
### Documentation
* [#866](https://github.com/edgarrmondragon/citric/issues/866) Add missing methods to RPC coverage page
* [#868](https://github.com/edgarrmondragon/citric/issues/868) Fix a couple of typos

## 0.7.1-b2 - 2023-05-12
### Fixed
* [#849](https://github.com/edgarrmondragon/citric/issues/849) Remove some upper bound version constraints

## 0.7.1-b1 - 2023-04-11
### Fixed
* [#803](https://github.com/edgarrmondragon/citric/issues/803) Remove warnings for LimeSurvey 6.0 features

## 0.7.0 - 2023-03-31
### Added
* [#492](https://github.com/edgarrmondragon/citric/issues/492) Implement `cpd_importParticipants` in client
### Fixed
* [#774](https://github.com/edgarrmondragon/citric/issues/774) Remove direct dependency on `typing-extensions`

## 0.6.0 - 2023-03-21
### Added
* [#295](https://github.com/edgarrmondragon/citric/issues/295) Implement `set_quota_properties` in client
* [#552](https://github.com/edgarrmondragon/citric/issues/552) Implement `get_available_site_settings` in client
* [#765](https://github.com/edgarrmondragon/citric/issues/765) Use `TypedDict` for more precise `**kwargs` typing

## 0.5.0 - 2023-03-13
### Added
* [#748](https://github.com/edgarrmondragon/citric/issues/748) Support custom JSON encoders
* [#745](https://github.com/edgarrmondragon/citric/issues/745) Annotate some responses with `TypedDict`

## 0.4.5 - 2023-03-03
### Fixed
* [#732](https://github.com/edgarrmondragon/citric/issues/732) Improve error message when RPC response is not valid JSON

## 0.4.4 - 2023-02-03
### Refactored
* [#683](https://github.com/edgarrmondragon/citric/issues/683) Use `pathlib.Path` where possible
* [#687](https://github.com/edgarrmondragon/citric/issues/687) Use a dedicated `RPCInterfaceNotEnabledError` exception when a disabled JSON Interface is detected

## 0.4.3 - 2023-01-18
### Fixed
* [#659](https://github.com/edgarrmondragon/citric/issues/659) Use a correct UTC datetime as the default end value in `export_timeline`

## 0.4.2 - 2022-12-20
### Changed
* [#642](https://github.com/edgarrmondragon/citric/issues/642) Remove upper bound constrain on `importlib-metadata`
### Fixed
* [#643](https://github.com/edgarrmondragon/citric/issues/643) Fixed a few type annotations

## 0.4.1 - 2022-12-10
### Fixed
* [#634](https://github.com/edgarrmondragon/citric/issues/634) Pass `attributes` to `activate_tokens` RPC call

## 0.4.0 - 2022-12-05
### Added
* [#582](https://github.com/edgarrmondragon/citric/issues/582) Stable support for Python 3.11
* [#586](https://github.com/edgarrmondragon/citric/issues/586) Experimental support for Python 3.12
### Changed
* [#607](https://github.com/edgarrmondragon/citric/issues/607) Use keyword-only arguments for `add_participants` and `list_participants`
### Refactor
* [#626](https://github.com/edgarrmondragon/citric/issues/626) Refactor returns of the type `if: ... else: return ...`

## 0.3.0 - 2022-07-24
### Added
* [#498](https://github.com/edgarrmondragon/citric/issues/498) Implement `get_fieldmap` in client

## 0.2.0 - 2022-06-20
### Added
* [#475](https://github.com/edgarrmondragon/citric/issues/475) Implement `update_response` in client
### Fixed
* [#477](https://github.com/edgarrmondragon/citric/issues/477) Reduce number of calls to `list_questions` from `add_responses`

## 0.1.0 - 2022-06-17
### Added
* [#213](https://github.com/edgarrmondragon/citric/issues/213) Implement `delete_question` in client

## 0.0.14 - 2022-05-18
### Added
* [#430](https://github.com/edgarrmondragon/citric/issues/430) Implement `upload_file` in client

## 0.0.13 - 2022-05-02
### Added
* [#435](https://github.com/edgarrmondragon/citric/pull/435) Add `get_uploaded_file_objects` to Client

## 0.0.12 - 2022-03-24
### Added
* [#208](https://github.com/edgarrmondragon/citric/pull/208) Implement `delete_language` in client


## 0.0.11 - 2022-03-14
### Added
* [#296](https://github.com/edgarrmondragon/citric/pull/296) Implement `set_group_properties`, `set_language_properties`, `set_participant_properties`, `set_question_properties`, `set_survey_properties` in client


## 0.0.10 - 2022-02-17
### Added

* [#192](https://github.com/edgarrmondragon/citric/pull/192) Implement `copy_survey` in client
* [#190](https://github.com/edgarrmondragon/citric/pull/190) Implement `import_group` in client
* [#196](https://github.com/edgarrmondragon/citric/pull/196) Implement `list_groups` in client
* [#194](https://github.com/edgarrmondragon/citric/pull/194) Implement `delete_group` in client
* [#207](https://github.com/edgarrmondragon/citric/pull/207) Implement `add_language` in client
* [#210](https://github.com/edgarrmondragon/citric/pull/210) Implement `add_survey` in client
* [#231](https://github.com/edgarrmondragon/citric/pull/231) Implement `get_`*_properties in client
* [#240](https://github.com/edgarrmondragon/citric/pull/237) Implement `export_statistics`, `save_statistics` and `save_responses` in client
* [#241](https://github.com/edgarrmondragon/citric/pull/241) Implement `get_summary` in client
* [#240](https://github.com/edgarrmondragon/citric/pull/240) Implement `export_timeline` in client


### Fixed

* [#215](https://github.com/edgarrmondragon/citric/pull/215) Address code smells and other issues


## 0.0.9 - 2022-02-05
### Added
* [#155](https://github.com/edgarrmondragon/citric/pull/155) Experimental support Python 3.11
* [#165](https://github.com/edgarrmondragon/citric/pull/165) Test in Windows and MacOS
### Removed
* [#151](https://github.com/edgarrmondragon/citric/pull/151) Drop support for Python 3.6


## 0.0.8 - 2022-02-03
### Added
* [#148](https://github.com/edgarrmondragon/citric/pull/148) Implement `add_group` in client
* [#148](https://github.com/edgarrmondragon/citric/pull/148) Implement `import_question` in client


## 0.0.7 - 2022-01-28
### Fixed
* [#143](https://github.com/edgarrmondragon/citric/pull/143) Remove explicit check for enabled RPC interface


## 0.0.6 - 2022-01-26
### Added
* [#140](https://github.com/edgarrmondragon/citric/pull/140) Support Auth Plugins


## 0.0.5 - 2021-12-20
### Changed

* [#117](https://github.com/edgarrmondragon/citric/pull/117) Removed `read_file` and `write_file` methods in favor of support for arbitrary binary file-like objects. Implemented `get_uploaded_files` in client.


## 0.0.4 - 2021-12-17

### Changed

* [#114](https://github.com/edgarrmondragon/citric/pull/114) Replaced `requests_session_factory` argument with `requests_session` in `citric.Session`


## 0.0.3 - 2021-11-11

### Added

* [#93](https://github.com/edgarrmondragon/citric/pull/93) Implement `list_users` in client


## 0.0.2 - 2021-11-11

### Added

* New client methods:

    - `delete_response`
    - `list_survey_groups`

### Changed

* Return bytes from export methods


## 0.0.1 - 2021-11-11

### Added

* New client methods:

    - `activate_survey`
    - `activate_tokens`
    - `add_participants`
    - `add_response`
    - `delete_participants`
    - `delete_survey`
    - `download_files`
    - `export_responses`
    - `export_responses_by_token`
    - `get_participant_properties`
    - `get_response_ids`
    - `get_site_settings`
    - `get_survey_properties`
    - `import_survey`
    - `list_participants`
    - `list_questions`
    - `list_surveys`
