Skip to content

Releases: lagotto/lagotto

Lagotto 5.0.1

11 Apr 23:30
Choose a tag to compare

Lagotto 5.0.1 (April 12, 2016)

Lagotto 5.0.1 was released on April 12, 2016. This release includes breaking changes, users of Lagotto 4.x should wait for Lagotto 5.2, which will provide an upgrade path for 4.x users.

The following changes were made:


In Lagotto 5.0 the functionality of sources is broken into two different models:

  • agents collect information from external APIs
  • sources provide this information via the Lagotto API

One consequence of this split of functionality is that agents can now be external to the Lagotto application.

Another consequence is that agents no longer need to do API calls for every single work, but can import data in bulk. This dramatically improves performance.


The new deposits API provides a common way to import data into Lagotto from external APIs. Import of data via rake task, as in previous Lagotto versions, is no longer supported in Lagotto 5.0. The deposits API is also used by the built-in Lagotto agents.

The deposits API is generic enough to allow not only the import of works, but also publishers and contrbutors.


Added automatic import of publisher information from Crossref and DataCite (#430).


  • add contributor model (#429)
    add contributor role (#504)


  • removed obsolete v3 API (#469)
  • remove depreciated v5 API (#496)
  • start v7 API (#497)

Other changes

  • use berkshelf instead of librarian to manage cookbooks (#408)
  • added packer support (#409)
  • upload .env file before starting capistrano (#410)
  • import DataCite DOIs that include relatedIdentifiers (#414)
  • added agent to extract ORCID identifiers from DataCite metadata (#416)
  • fetch DOI and ORCID metadata right before validation (#418)
  • added namae gem for more consistent name parsing (#419)
  • created datacite_github agent (#424)
  • created crossref_orcid agent (#425)
  • removed CouchDB code (#429)
  • added jwt authentication (#436)
  • use sidekiq with connection_pool (#446)
  • added support for master-slave db configuration (#447)
  • upgraded to sidekiq 4 (#449)
  • removed persona authentication support (#457)
  • add templates for crossref, allowing organization-specific headers, footers and CSS (#463)
  • added httplog for http request logging (#464)
  • use only one standard filename for .env file (#466)
  • removed events by day (#468)
  • use cookieStore to store sessions (#489)
  • use iso8601 instead of date-parts for publication date (#490)
  • normalize all DOI forms when processing deposit (#491)
  • added separate sources for html views and pdf downloads (#495)
  • redefined groups for sources (#500)
  • set sidekiq log level via ENV variable (#520)

Lagotto 4.5

13 May 15:54
Choose a tag to compare
Merge pull request #413 from msingh05/master

dev-I4683: Use this new URL to access pmcstat.cgi:

Lagotto 4.3

20 Jul 00:09
Choose a tag to compare

Lagotto 4.3 was released on July 20, 2015 with the following changes:

  • created snapshop of Lagotto JSON API responses for works, that is then automatically deposited in Zenodo (#343)
  • fixed failing rspec acceptance tests (#380)
  • added registration_agency check to some sources (#381)
  • added foreign_key constraints (#382)
  • added DataONE identifier (#384)
  • added two sources for DataONE usage stats (#394)
  • enamed Github organization from articlemetrics to lagotto (#397)
  • fixed nginx installation issue where nodejs can't be found (#399)

JSON API snapshots

The snapshots of the Lagotto JSON API require the same ENV variables as the CSV export. Run bundle exec rake api:snapshot:all to create the snapshots and export them to Zenodo. More information is available in the setup documentation.

Foreign keys

This release adds foreign keys (supported in Rails core since Rails 4.2) to the database to enforce referential integrity.

Registration agency checks

Some sources now check for the work registration agency, allowing different functionality, e.g. for CrossRef or DataCite DOIs.

DataONE usage stats

This release adds two sources that collect usage stats from the DataONE repository network. The dataone_counter source collects COUNTER-compliant usage stats, whereas the dataone_usage source also includes machine usage from some useragents.

Lagotto 4.2.1

13 Jul 12:00
Choose a tag to compare

Lagotto 4.2.1 was released on July 13, 2015 with the following changes:

  • automatically archive all Lagotto releases in zenodo and register a DOI

Lagotto 4.2

13 Jul 11:49
Choose a tag to compare

Lagotto 4.2 was released on July 13, 2015 with the following changes:

  • export CSV summary report to Zenodo data repository (#339)
  • process pmc import and parsing in the background (#363)
  • allow wildcard searches for works in the API and admin frontend (#368)
  • added missing author information to v6 API (#370)
  • make sure DOIs are stored in lowercase(#372)
  • optionally load all DataONE member nodes as publishers (#374)
  • added methods to fetch metadata for DataCite DOIs, and to look up the DOI registration agency (#376)
  • added registration agency column to works (#377)
  • store temporary files in tmp folder (#378)
  • fixed name inconsistencies for EuropePMC sources (#379)

The following new ENV variables must be set in the .env file to use the new Zenodo export functionality:

CREATOR=Public Library of Science
#ZENODO_URL= for testing

A ZENODO_KEY can be obtained by creating a Zenodo account and then a personal access token on the profile page.

Lagotto 4.1.1

07 Jul 16:58
Choose a tag to compare

Lagotto 4.1.1 was released on July 6, 2015 with the following fixes:

  • adapted CSV parsing to 4.0 data model (#315)
  • fixed a bug in pmc feed parsing (#354)
  • don't import PLOS issue images. (#356)

Lagotto 4.1

17 Jun 08:28
Choose a tag to compare

Lagotto 4.1 was released on June 17, 2015 with the following changes:

  • refactored /heartbeat endpoint to use sinatra so that it works if the database is down (#302)
  • fixed a bug in source and publisher caching (#306)
  • upgraded source to use v.1.2 ORCID API (#308)
  • fetch metadata from pubmed if there is a pmid but no doi (#309)
  • added recommendations, similar works that are also tracked (#310)
  • use CrossRef REST API for metadata of articles fetched via CrossRef CitedBy (#312)
  • use CrossRef date indexed if date issued is in the future (#314)
  • pass member id as integer to CrossRef REST API, fixing a CrossRef import issue (#320)
  • optionally serve v3 API responses for single works as array for backward compatibility (#321)
  • upgraded capistrano gem, use capistrano-passenger (#323)
  • workaround to support 4-byte utf-8 characters, e.g. emojis (#324)
  • allow update of works on import (#325)
  • added optional Bugsnag error tracking, using two ENV variables (#326)
  • use different path for RSS urls rather than file extension .rss (#328)
  • handle timeout errors more gracefully (#330)
  • avoid ActiveRecord connection pool issues (#331)
  • automatically track metrics for works from article_coverage_curated source (#332)
  • use instead of for encoding DOIs as URLs (#333)
  • use http URI of the primary identifier as the PID in the API (#334)
  • automatically track metrics for blog posts referencing a work (#335)
  • automatically track metrics for works mentioned in the body of another work, using the sources europe_pmc_fulltext, plos_fulltext and bmc_fulltext (#336)

This release includes numerous other small bug fixes. While the release fixes on bug fixes, new features were also introduced:


A list of similar works that we also track, generated by common relations, e.g. other works tracked by Lagotto cited
by the same paper or bookmarked in the same ORCID profile. Available in the v6 API, e.g. here.

Identifiers as URIs

Starting with this release, the id for a work in the v6 API will always be a URL, e.g., and the use of has been
changed to in all places.

Second-order Events

Lagotto 4.1 adds support for second-order events, i.e. it will track news items and blog posts that discuss a work in Lagotto.
We do the same for scholarly articles that mention a tracked work in the body text (where we can search the fulltext), e.g. informal citations to datasets.

Lagotto 3.21

08 Jun 16:46
Choose a tag to compare

Lagotto 3.20 was released on June 8, 2015 with the following changes:

  • correctly exclude private sources from the v5 API (#278)
  • better documentation of the data migrations introduced in Lagotto 3.18 (#304)
  • return correct exitstatus in capistrano (#305)
  • fixed an issue with the CrossRef import function not passing parameters correctly (#320)

Lagotto 4.0

05 May 03:31
Choose a tag to compare

Lagotto 4.0 (May 5, 2015)

Lagotto 4.0 was released on May 5, 2015 with the following changes:

  • normalized responses from external sources to be stored in MySQL. CouchDB is no longer required for the core Lagotto functionality (#213)
  • show more CSL information in API and admin dashboard (#284)
  • started new v6 API (#287)
  • show related works (references and versions) in new v6 API and admin dashboard (#296)
  • added ads and ads_fulltext data sources. ads finds ArXiV preprints that became peer-reviewed papers, ads_fulltext allows fulltext search for all ArXiV preprints (#297)
  • import couchdb data into mysql for 4.0 upgrade (#301)


Starting with Lagotto 4.0 frontend assets are installed via NPM and Bower. This is done automatically when using Chef/Vagrant. When not using Chef/Vagarant please copy frontend/node_modules, frontend/bower_components, frontend/package.json, frontend/bower.json and frontend/.bowerrc into shared and run npm install (not npm -g install) from shared/frontend:

cd /var/www/lagotto/shared/frontend
mkdir node_modules
mkdir bower_components
npm install

CouchDB is no longer needed for core Lagotto functionality, but is still used to store responses from some of the sources (e.g. F1000).

Make sure to run the data migrations in addition to the database migrations. This happens automatically if using capistrano, otherwise run rake data:migrate.

After upgrading the code and running the database migrations, old monthly and daily data stored in CouchDB should be imported via:

bundle exec rake couchdb:import

Starting with the new v6 API, API versions (currently defaulting to version 6) and authentication via API key (needed for admin functionality) are provided via the HTTP header, e.g. in curl:

- H "Accept: application/json; version=6" -H "Authorization: Token token=API_KEY"

Lagotto 3.20

05 May 01:57
Choose a tag to compare

Lagotto 3.20 was released on May 5, 2015 with the following changes:

  • filter authentication_token from log files (#285)
  • fixed authentication error that broke creation of new user accounts (#286)
  • create delete canonical_url rake task for cases where journal URLs change (#298)
  • set rate-limit remaining number for all sources using memcached. This should fix rate-limiting errors with the twitter_search source (#300)

Make sure to run the data migrations in addition to the database migrations. This happens automatically if using capistrano, otherwise run rake data:migrate.