1
0
mirror of https://github.com/ilri/dspace-statistics-api.git synced 2024-06-09 13:25:09 +02:00
dspace-statistics-api/CHANGELOG.md
Alan Orth 8f46ceb8d8
Refactor to use vanilla requests library
The SolrClient library is unmaintained, which is starting to cause
problems due to the moving Python ecosystem. Switching to requests
does not change my code in any meaningful way and makes maintenance
easier.
2019-04-15 10:19:50 +03:00

4.5 KiB

Changelog

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

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

  • Build configuration for build.sr.ht

Updated

  • Run pipenv update, bringing pytest version 4.3.1, psycopg-binary 2.7.7, etc
  • sr.ht and TravisCI configuration to disable emojis and animation to keep logs clean

Changed

  • Use vanilla requests library instead of SolrClient

[0.9.0] - 2019-01-22

Updated

  • pytest version 4.0.0
  • Fix indexing of sharded statistics cores ([#10))
  • Handle case of missing views/downloads gracefully

[0.8.1] - 2018-11-14

Changed

  • README.md to recommend using vanilla Python virtual environments and pip instead of pipenv
  • Regenerate pipenv environment to capture only direct dependencies

Added

  • requirements-dev.txt for installing development packages with pip

[0.8.0] - 2018-11-11

Changed

  • Properly handle database connection errors

Added

  • API tests with pytest

[0.7.0] - 2018-11-07

Added

  • Ability to configure PostgreSQL database port with DATABASE_PORT environment variable (defaults to 5432)
  • Hound CI configuration to validate pull requests against PEP 8 code style with Flake8
  • Configuration for pipenv

Changed

  • Use a database management class with Python context management to automatically open/close connections and cursors

Changed

  • Validate code against PEP 8 style guide with Flake8

[0.6.1] - 2018-10-31

Added

  • API documentation at root path (/)

[0.6.0] - 2018-10-31

Changed

  • Refactor project structure (note breaking changes to API and indexing invocation, see contrib and README.md)

[0.5.2] - 2018-10-28

Changed

  • Update library versions in requirements.txt

[0.5.1] - 2018-10-24

Changed

  • Use Python's native json instead of ujson

[0.5.0] - 2018-10-24

Added

  • Example nginx configuration to README.md

Changed

  • Don't initialize Solr connection in API

[0.4.3] - 2018-10-17

Changed

  • Use pip install as script for Travis CI

Improved

  • Documentation for deployment and testing

[0.4.2] - 2018-10-04

Changed

  • README.md introduction and requirements
  • Use ujson instead of json
  • Iterate directly on SQL cursor in /items route

Fixed

  • Logic error in SQL for item views

[0.4.1] - 2018-09-26

Changed

  • Use execute_values() to batch insert records to PostgreSQL

[0.4.0] - 2018-09-25

Fixed

  • Invalid OnCalendar syntax in dspace-statistics-indexer.timer
  • Major logic error in indexer.py

[0.3.2] - 2018-09-25

Changed

  • /item/id route now returns HTTP 404 if an item is not found

[0.3.1] - 2018-09-25

Changed

  • Force SolrClient's kazoo dependency to version 2.5.0 to work with Python 3.7
  • Add Python 3.7 to Travis CI configuration

[0.3.0] - 2018-09-25

Added

  • requirements.txt for pip
  • Travis CI build configuration for Python 3.5 and 3.6
  • Documentation on using the API

Changed

  • The "all items" route from / to /items

[0.2.1] - 2018-09-24

Changed

  • Environment settings in example systemd unit files
  • Use psycopg2.extras.DictCursor for PostgreSQL connection

[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+

[0.1.0] - 2018-09-24

Changed

  • Rename project to "DSpace Statistics API"
  • Use read-only database connection in API
  • Update systemd units for CGSpace→DSpace rename
  • Use UPSERT to simplify database schema and Python logic

Added

  • Example systemd service and timer unit for indexer service
  • Add top-level route to expose all item statistics

Removed

  • Ability to customize SOLR_CORE variable

[0.0.4] - 2018-09-23

Added

  • Added example systemd unit file for API
  • Added indexer.py to ingest views and downloads from Solr to a SQLite database

Changed

  • Refactor Solr configuration and connection
  • /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

[0.0.3] - 2018-09-20

Changed

  • Refactor environment variables into config module
  • Simplify Solr query for "downloads"
  • Optimize Solr query by using rows=0
  • Fix Solr queries for item views

[0.0.2] - 2018-09-18

Added

  • Ability to get Solr parameters from environment (SOLR_SERVER and SOLR_CORE)

[0.0.1] - 2018-09-18

  • Initial release