2018-09-18 14:35:42 +02:00
|
|
|
# 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/),
|
|
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
|
2018-11-12 08:02:04 +01:00
|
|
|
## Unreleased
|
|
|
|
## Changed
|
|
|
|
- README.md to recommend using vanilla Python virtual environments and pip instead of pipenv
|
|
|
|
|
|
|
|
## Added
|
|
|
|
- `requirements-dev.txt` for installing development packages with pip
|
|
|
|
|
2018-11-11 16:16:26 +01:00
|
|
|
## [0.8.0] - 2018-11-11
|
2018-11-10 23:05:49 +01:00
|
|
|
### Changed
|
|
|
|
- Properly handle database connection errors
|
|
|
|
|
2018-11-11 10:54:25 +01:00
|
|
|
### Added
|
2018-11-11 16:10:45 +01:00
|
|
|
- API tests with pytest
|
2018-11-11 10:54:25 +01:00
|
|
|
|
2018-11-10 23:08:44 +01:00
|
|
|
## [0.7.0] - 2018-11-07
|
|
|
|
### Added
|
2018-11-03 21:42:08 +01:00
|
|
|
- Ability to configure PostgreSQL database port with DATABASE_PORT environment variable (defaults to 5432)
|
2018-11-03 23:50:46 +01:00
|
|
|
- Hound CI configuration to validate pull requests against PEP 8 code style with Flake8
|
2018-11-04 14:59:11 +01:00
|
|
|
- Configuration for [pipenv](https://pipenv.readthedocs.io/en/latest/)
|
2018-11-03 21:42:08 +01:00
|
|
|
|
2018-11-10 23:08:44 +01:00
|
|
|
### Changed
|
2018-11-07 16:50:46 +01:00
|
|
|
- Use a database management class with Python context management to automatically open/close connections and cursors
|
|
|
|
|
2018-11-10 23:08:44 +01:00
|
|
|
### Changed
|
2018-11-03 23:05:16 +01:00
|
|
|
- Validate code against PEP 8 style guide with Flake8
|
|
|
|
|
2018-11-10 23:08:44 +01:00
|
|
|
## [0.6.1] - 2018-10-31
|
|
|
|
### Added
|
2018-10-31 23:39:12 +01:00
|
|
|
- API documentation at root path (/)
|
|
|
|
|
2018-11-10 23:08:44 +01:00
|
|
|
## [0.6.0] - 2018-10-31
|
|
|
|
### Changed
|
2018-10-31 18:26:45 +01:00
|
|
|
- Refactor project structure (note breaking changes to API and indexing invocation, see contrib and README.md)
|
|
|
|
|
2018-11-10 23:08:44 +01:00
|
|
|
## [0.5.2] - 2018-10-28
|
|
|
|
### Changed
|
2018-10-28 10:12:27 +01:00
|
|
|
- Update library versions in requirements.txt
|
|
|
|
|
2018-11-10 23:08:44 +01:00
|
|
|
## [0.5.1] - 2018-10-24
|
|
|
|
### Changed
|
2018-10-24 13:15:03 +02:00
|
|
|
- Use Python's native json instead of ujson
|
|
|
|
|
2018-11-10 23:08:44 +01:00
|
|
|
## [0.5.0] - 2018-10-24
|
|
|
|
### Added
|
2018-10-23 13:56:44 +02:00
|
|
|
- Example nginx configuration to README.md
|
|
|
|
|
2018-11-10 23:08:44 +01:00
|
|
|
### Changed
|
2018-10-24 11:01:47 +02:00
|
|
|
- Don't initialize Solr connection in API
|
|
|
|
|
2018-11-10 23:08:44 +01:00
|
|
|
## [0.4.3] - 2018-10-17
|
|
|
|
### Changed
|
2018-10-14 18:02:09 +02:00
|
|
|
- Use pip install as script for Travis CI
|
|
|
|
|
2018-11-10 23:08:44 +01:00
|
|
|
### Improved
|
2018-10-17 08:51:44 +02:00
|
|
|
- Documentation for deployment and testing
|
|
|
|
|
2018-10-04 23:19:18 +02:00
|
|
|
## [0.4.2] - 2018-10-04
|
2018-09-27 08:30:48 +02:00
|
|
|
### Changed
|
|
|
|
- README.md introduction and requirements
|
2018-09-27 08:53:42 +02:00
|
|
|
- Use ujson instead of json
|
2018-09-27 10:08:42 +02:00
|
|
|
- Iterate directly on SQL cursor in `/items` route
|
2018-09-27 08:30:48 +02:00
|
|
|
|
2018-10-04 23:19:18 +02:00
|
|
|
### Fixed
|
|
|
|
- Logic error in SQL for item views
|
|
|
|
|
2018-09-27 07:15:54 +02:00
|
|
|
## [0.4.1] - 2018-09-26
|
2018-09-26 22:26:48 +02:00
|
|
|
### Changed
|
2018-11-10 23:08:44 +01:00
|
|
|
- Use `execute_values()` to batch insert records to PostgreSQL
|
2018-09-26 22:26:48 +02:00
|
|
|
|
2018-09-26 01:51:27 +02:00
|
|
|
## [0.4.0] - 2018-09-25
|
2018-09-25 22:09:44 +02:00
|
|
|
### Fixed
|
|
|
|
- Invalid OnCalendar syntax in dspace-statistics-indexer.timer
|
2018-09-26 01:51:27 +02:00
|
|
|
- Major logic error in indexer.py
|
2018-09-25 22:09:44 +02:00
|
|
|
|
2018-09-25 12:14:08 +02:00
|
|
|
## [0.3.2] - 2018-09-25
|
|
|
|
## Changed
|
|
|
|
- /item/id route now returns HTTP 404 if an item is not found
|
|
|
|
|
2018-09-25 11:18:26 +02:00
|
|
|
## [0.3.1] - 2018-09-25
|
2018-09-25 11:12:10 +02:00
|
|
|
### Changed
|
|
|
|
- Force SolrClient's kazoo dependency to version 2.5.0 to work with Python 3.7
|
2018-09-25 11:17:49 +02:00
|
|
|
- Add Python 3.7 to Travis CI configuration
|
2018-09-25 11:12:10 +02:00
|
|
|
|
2018-09-25 10:38:36 +02:00
|
|
|
## [0.3.0] - 2018-09-25
|
2018-09-25 10:09:02 +02:00
|
|
|
### Added
|
|
|
|
- requirements.txt for pip
|
2018-09-25 11:17:01 +02:00
|
|
|
- Travis CI build configuration for Python 3.5 and 3.6
|
2018-09-25 10:37:56 +02:00
|
|
|
- Documentation on using the API
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
- The "all items" route from / to /items
|
2018-09-25 10:09:02 +02:00
|
|
|
|
2018-09-25 01:21:44 +02:00
|
|
|
## [0.2.1] - 2018-09-24
|
2018-09-25 00:11:37 +02:00
|
|
|
### Changed
|
|
|
|
- Environment settings in example systemd unit files
|
2018-09-25 01:08:54 +02:00
|
|
|
- Use psycopg2.extras.DictCursor for PostgreSQL connection
|
2018-09-25 00:11:37 +02:00
|
|
|
|
2018-09-24 23:55:35 +02:00
|
|
|
## [0.2.0] - 2018-09-24
|
|
|
|
### Changed
|
|
|
|
- Use PostgreSQL instead of SQLite because UPSERT support needs a very new libsqlite3 whereas it's already in PostgreSQL 9.5+
|
|
|
|
|
2018-09-24 15:14:14 +02:00
|
|
|
## [0.1.0] - 2018-09-24
|
2018-09-23 22:04:01 +02:00
|
|
|
### Changed
|
|
|
|
- Rename project to "DSpace Statistics API"
|
2018-09-23 23:30:58 +02:00
|
|
|
- Use read-only database connection in API
|
|
|
|
- Update systemd units for CGSpace→DSpace rename
|
2018-09-24 13:31:05 +02:00
|
|
|
- Use UPSERT to simplify database schema and Python logic
|
2018-09-23 22:04:01 +02:00
|
|
|
|
2018-09-23 22:15:27 +02:00
|
|
|
### Added
|
|
|
|
- Example systemd service and timer unit for indexer service
|
2018-09-24 15:13:05 +02:00
|
|
|
- Add top-level route to expose all item statistics
|
2018-09-23 22:15:27 +02:00
|
|
|
|
2018-09-23 23:30:58 +02:00
|
|
|
### Removed
|
|
|
|
- Ability to customize SOLR_CORE variable
|
|
|
|
|
2018-09-23 15:49:25 +02:00
|
|
|
## [0.0.4] - 2018-09-23
|
2018-09-23 06:58:15 +02:00
|
|
|
### Added
|
|
|
|
- Added example systemd unit file for API
|
2018-09-23 15:48:39 +02:00
|
|
|
- Added indexer.py to ingest views and downloads from Solr to a SQLite database
|
2018-09-23 06:58:15 +02:00
|
|
|
|
2018-09-23 12:27:43 +02:00
|
|
|
### Changed
|
|
|
|
- Refactor Solr configuration and connection
|
2018-09-23 15:48:39 +02:00
|
|
|
- /item route now expects id as part of the URI instead of a query parameter: /item/id
|
|
|
|
- View and download stats are now fetched from a SQLite database
|
2018-09-23 12:27:43 +02:00
|
|
|
|
2018-09-20 16:41:47 +02:00
|
|
|
## [0.0.3] - 2018-09-20
|
2018-09-18 16:01:24 +02:00
|
|
|
### Changed
|
|
|
|
- Refactor environment variables into config module
|
2018-09-18 23:30:28 +02:00
|
|
|
- Simplify Solr query for "downloads"
|
2018-09-19 00:50:14 +02:00
|
|
|
- Optimize Solr query by using rows=0
|
2018-09-20 16:41:47 +02:00
|
|
|
- Fix Solr queries for item views
|
2018-09-18 16:01:24 +02:00
|
|
|
|
2018-09-18 14:36:56 +02:00
|
|
|
## [0.0.2] - 2018-09-18
|
2018-09-18 14:35:42 +02:00
|
|
|
### Added
|
|
|
|
- Ability to get Solr parameters from environment (`SOLR_SERVER` and `SOLR_CORE`)
|
|
|
|
|
|
|
|
## [0.0.1] - 2018-09-18
|
|
|
|
- Initial release
|