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

The format is based on Keep a Changelog, This project does not yet adheres to Semantic Versioning as the API is evolving and MINOR patches may be backwards incompatible.



  • ancestrify parameter for Otu queries not scoping to TaxonNames correctly

0.36.0 - 2023-11-30


  • Staged image CollectionObjects are destroy if a) stubs and b) depictions are removed from them to another CollectionObject #3172

  • /api/v1/biological_associations/123/globi (preview experiment)

  • /api/v1/biological_associations/123/resource_relationship (preview experiment)

  • BiologicalAssociations as raw TaxonWorks data/api/v1/biological_associations.csv

  • BiologicalRelationships as raw TaxonWorks data/api/v1/biological_relationships.csv

  • DwC ResourceRelationship extension (preview) #2554

  • Taxonomy summary to CollectionObject summary report

  • Metadata summary report from Filter BiologicalAssociations

  • Biological associations simple table preview, sortable columns #1946

  • GLOBI format table from Filter BiologicalAssociations (preliminary)

  • Family by genera report from Filter BiologicalAssociations

  • DwC ResourceRelationship extension preview from Filter BiologicalAssociations

  • Visualize network from Filter BiologicalAssociations

  • BiologicalRelationship can have Identifiers

  • “ancestrify” option to TaxonName and Otu filters (adds ancestors of filter result)

  • Auto UUIDs as new Identifier::Global::Uuid::Auto for models

  • Auto UUIDs are created for BiologicalAssociations and OTUs

  • Maintenance Task to add UUIDs to objects that can have them but don't

  • TaxonName model to customize attributes

  • TaxonNameRelationship model, added validation for the rank of type species and type genus.

  • New source task: Person source

  • Index view to API for /depictions

  • Added extend[]=role_counts to /person/123.json

  • Batch update OTU taxon_name within OTU filter #3656

  • DwC Checklist importer: support “invalid”, “incorrectOriginalSpelling” taxonomic Status

  • DwC Checklist importer: option to match and update existing names rather than create new hierarchy from Root

  • DwC Occurrence importer: search for repository URL


  • CachedMaps of ancestors are set for rebuild when a descendant Georeference or AssertedDistribution is created

  • Radial annotator: Move selected source to the bottom in citation form #3652

  • DwC Occurrence importer: more helpful protonym, institution error messages

  • Filter interfaces: remove items from list instead redirect to data view #3659

  • New BiologicalAssociation defaults to task, not old form

  • Extracted CSV generating code to lib/export/csv


  • Buttons to remove BiologicalProperties in composer failing #3673

  • Could not destroy BiologicalRelationship if properties attached

  • Some CollectionObject summary values were not scoped to filter query

  • Filtering People returned duplicate values one name string searches

  • BiologicalAssociations passed to TaxonNames missed object names

  • Nulified cached values in Collecting Event, if Geographic area deleted #3668

  • Match TaxonName based on original combination #3365

  • Radial AD: Quick/recent selector broken on “Move”. #3640

  • New taxon name: Author panel overflow when source has a long link

  • Edit Loan: Loans created without recipient or supervisor cannot be updated

  • Fixed bug in DwC importer background processor that was not dealing with errored records.

  • Browse OTU: autocomplete overflow #3667

  • Comprehensive: Relationship doesn't show up on biological associations list #3671

  • DwC Occurrence importer: protonyms could not be found if authorship information didn't match

  • DwC Occurrence importer: protonyms could not be found if author was Person #3677

  • DwC Checklist importer: empty scientificNameAuthorship field would cause row to error #3660

  • DwC Checklist importer: subsequent combinations with synonym status whose parents are synonyms would cause row to error

  • Could not set Repository Index Herbariorum flag in interface

  • Uniquify People: autocomplete would not select people for merging if already present in Match people table

0.35.3 - 2023-11-13


  • Radial collection object: Add repository #3637


  • CachedMaps (WebLevel1) is now based on “State” shapes only, improving resolution

  • CachedMap build process adds pre-build step to greatly minimize overall number of spatial calculations

  • CachedMap spatial calculations use a intersection + “smoothing” approach

  • Also use year of publication to determine correct protonyn having homonyms #3630

  • Improved error message when typeStatus name is a homonym in DwC occurrences importer #3632


  • Duplicate loans appearing Loan filter [#3636]

  • New source when cloned and saved is not added to the project sources #3629

  • Sequence display when not a Primer

  • CachedMap indexing speedups failed to properly utilize prior work

  • Duplicate CachedMapRegister rows being created per object

  • New Image task, second “Apply” button is not working #3628

  • ' [sic]' not removed when searching for synonyms in database to compare with typeStatus in DwC occurrence importer #3633

0.35.2 - 2023-11-07


  • Update Gemfiles

  • CachedMap algorithm, now far more precise.

  • Browse OTU: Image gallery section is now available for all ranks #3612

  • Map saves tile preferences #3619


  • Anyone can destroy a Community (Global) identifier on a Community object #3601

  • Newfoundland/CAR mapping issue #3588

  • Role callbacks interfered with creation of nested objects #3622 !! Potentially breaking fix !!

  • Queries to /api/v1/sources not scoping to project when project_token used #3623

  • CollectionObject summary report tab clicks

  • Cached map preview incorrect/default GeographicItem id for GeographicAreas

  • Collection object summary report bad link

  • Task Biological associations graph: Save fails when trying to update a graph

  • Role picker doesn't show organization name when created #3611

  • Spinner hangs when apply fails in New Images task #3620

0.35.1 - 2023-10-23


  • Doubled the number of favoritable tasks to 40 #3600

  • Add record frame to Filter Source #3615


  • TaxonPage stats, maybe, who knows at this point.

  • Images for OTU type material expanded to all protonyms

  • Reset project preferences #3599

  • Project TSV dump permissions on server side

  • Clone moved CVT, not cloned project

0.35.0 - 2023-10-19


  • Outdated names task for CollectionObjects (compare to COL) #2585

  • Unified project data download task #1009, in part

  • Download project as zipped TSV tables in Download #1009

  • CSV generating endpoints /api/v1/taxon_names.csv and /api/v1/otus.csv

  • Filter CollectionObject links to “Collection Summary” task #3434

  • CollectionObject type facet

  • Coordinate and collecting event sections in Browse OTUs


  • Download routes now name files as .tsv

  • CollectingEvent allowable max records made smart #3590

  • Added extend[]=attribution to /images/123.json


  • TaxonNameClassification download

  • TaxonName descendants facet always included self, it shouldn't have

  • Without document facet

  • Object cloning in OriginRelationship caused infinite loops #3594

  • Quote handling in API autocomplete calls

  • Organization name not displaying in attribution copyright label

  • Manage Controlled vocabulary term: CVT list is not reloading after clone them from other project

  • Not possible to delete asserted distribution once added in radial object #3591

  • Manage controlled vocabulary: Delete button doesn't work #3593

0.34.6 - 2023-10-06


  • WKT and GeoJSON endpoints for /geographic_items/123.wkt

  • Clone ControlledVocabularies across projects #3562

  • Batch move taxon names to a new parent within TaxonName filter #3584

  • Batch update Source with a Serial within Source filter #3561

  • Browse nomenclature hierachy nav counts of invalid/valid link to filter

  • Reset forms for user preferences and project card favorites #3545

  • Otu RCC5 relationships to the COLDP exporter [#3569]

  • Filter images slice in radial linker #3574

  • Name relations to Catalogue of Life data package exports [#1211]

  • Type Materials to Catalogue of Life data package exports [#3213]

  • Filter list: Add border to highlight the last row where a radial was opened #3583


  • Update Gemfile

  • TaxonName stats metadata includes coordinate OTUs and synonyms of self

  • Change map position in Filter collecting events #3571

  • Add type material button is now blue #3579

  • Radial navigator: close radial menu when slices are opened in a new tab/window clicking and pressing ctrl/shift/meta keys #3582


  • Loans referencing containers have 'Total' properly calculated #3035

  • TaxonDetermination sort order on CollectionObject comprehensive/browse… again #1355

  • OTU API autocomplete not resolving to valid OTU

  • Attribution rendering had cryptic license value #3577

  • GeographicAreas not registering for some DWCA imports [#3575]

  • New collecting event: georeference from verbatim button creates two identical georeferences #3573

0.34.5 - 2023-09-26


  • Cached map item report (linked from Filter OTUs)

  • Depictions list on Filter image


  • Calls to /api/v1 have a new key/value signature

  • Staged image metadata field format from JSON to JSONB [#3446]

  • Updated Ruby gems


  • Batch import BibTeX failing on empty entries

  • Chronology stats report

  • ImportAttribute facet not working on any predicate searches

  • Taxon name/otus filter order bug

  • Staged image queries failing when multiple facets used #3556

  • Citations list is truncated in Radial Annotator #3560

  • DwC attributes are now showing in Stepwise determinations task

  • Quick taxon name only works for species #3554

  • Filter Images: Change per doesn't update the table #3566

0.34.4 - 2023-09-15


  • ImportAttribute facets to various filters

  • Project data curation issue tracking URL field (and to base API response) #3550

  • Manual option to regenerate derivative images on Show Image

  • API gallery endpoint /depictions/gallery

  • Image quick forms, add depictions in the context of an image #3540

  • Tables of data to nomenclature stats plots, with option to copy to clipboard

  • With/out nomenclature date facet on filter nomenclature

  • Determiners can be re-ordered (topmost, regardless of year, is preferred) #1355


  • Updated Gemfile

  • Updated JS packages

  • Derivative images strip EXIF and auto orient

  • TaxonName autocomplete change to a strict match mode.

  • Bold geographic levels in Type specimen panel in Browse OTU #3544


  • Subqueries in unified filters were silently ignoring components of the query, e.g. fix spatial + subquery requests #3552

  • Geographic level names not displaying on Browse OTU #3553

  • Sqed images that fail processing will try again with slower method automatically #3070

  • TaxonName dynamic observation matrix row not properly scoped #3454

  • OTU API autocomplete fails to sort results

  • Duplicate type status per CollectionObject are not allowed #3535

  • Edit/New taxon name: Author order for taxon name does not match author order of source #3551

  • Some issues with order of roles (e.g. Determinations) in display #1355

0.34.3 - 2023-09-05


  • Task - Nomenclature by year plots #2472

  • API for BiologicalRelationships -api/v1/biological_relationships?extend[]=biological_property #3525

  • Organization to Attribution slice in Radial annotator #3529

  • Delayed job queue cached, currently used in Role-related updates #3437

  • Allow organization determiners in DwC occurrences importer


  • Error radius also captured as literal value in addition to conversion to error polygon #3471

  • Batch update of collecting event geographic areas is now run in the background, limited to 250 record #3527

  • Reverted index-based TaxonName autocomplete to comprehensive version

  • Upgraded docker env to Postgis 3.4


  • Missing synonym record for basionym in COLDP export [#3482]

  • Fixed loan related links in several places #3463

  • Common name language ISO when no language #3530

  • Attribution displays owner/copyright holder Organization names #3515

  • CollectingEvent filter fails on cached_geo_* fields #3526

  • Reviewing and Organization's related data

  • CollectionObject timeline didn't show loans when object containerized #3528

  • Browse Annotations “On” filter doesn't work #3505

  • Georeferences are not cleaned after unset current collecting event in comprehensive specimen digitization task #3533

  • Fix collection object pagination in Browse OTU

0.34.2 - 2023-08-16


  • Subsequent Name Form section in New taxon name #3460

  • Original form section in New taxon name


  • New species name button is now always visible in Type section on New taxon name task

  • Improve COLDP export delimiter usability [#3522]

  • Updated Node packages and Ruby gems


  • Role scoping broken, affecting things like Verifiers list #3514

  • api/v1/citation failing on last page of results #3524

  • Fix generation of Unit tray labels from Filter nomenclature

  • Object graph view failing to render (controller object no longer available!?)

  • People as sources missing missing relationship (broke object graph)

  • Combinations in COLDP exports lack rank #3516

  • Fix coldp.rb undefined method iso8601 for nil:NilClass #3512

  • Improve TaxonName autocomplete result prioritization #3509

  • Clone button is not clearing input after cloning

0.34.1 - 2023-08-07


  • No parent Otu returned for TaxonName with more than 1 OTU [#3414]

  • Missing organization tab in Owner panel on New image task

  • BibTeX download shows incorrect results on New source task #3510

  • Asserted distribution API endpoint crashing when count is above 50

0.34.0 - 2023-08-04


  • api/v1/data_attributes/brief endpoint

  • api/v1/controlled_vocabulary_terms endpoint

  • Extracts are citable

  • modified and modifiedBy fields to the COL data package exporter #3464

  • Pagination to Labels and TypeMaterial .json endpoints #3472

  • DataAttribute columns for CollectingEvent and TaxonName filters

  • Added ranks for viruses

  • CachedMap framework - compute low-resolution maps quickly #3010

  • .json and .geojson endpoints implement CachedMaps at /api/v1/otus/:id/inventory/distribution

  • Administrator dashboard for CachedMap status

  • New indices for some name/cached related fields (Otu, TaxonName, Source)

  • Batch update Geographic area radial to filter collecting events

  • Customized API version of OTU autocomplete

  • GBIF map tiles as an option on maps

  • Add related option to nodes in Biological associations graph task

  • Layout settings for New image task


  • Predicted adjectives for the epithets ending with -ger and -fer

  • Optimized Gnfinder playground new-name detection

  • Optimized /api/v1/asserted_distribution, also now uses extend[]=geo_json (disabled if > 50 records requested)

  • Updated /api/v1/biological_associations to report full taxonomy #3438

  • Updated Ruby gems

  • Added date format recognition ####-##-## [#3453]

  • Add hyperlinks to OTU labels in Filter biological associations table #3444

  • Updated many relationships to validate based on presence of objects, rather than parameters

  • Simplified behavior of Otu and TaxonName autocomplete to use new fuzzier indicies

  • Clone loan button redirects to new loan task #3462

  • Multiple improvements in DwC importers


  • Georeference parsing didn't handle new Z

  • Clearing PinboardItems by class

  • Rendering TNT matrix labels

  • Initializing new Extract when no Extracts present

  • DataAttribute filter facet not working for non-exact matches

  • Speed response for Filter's returning DataAttributes #3452

  • Going from Image filter to others could result in duplicated rows

  • DWCA Importer: Geographic Areas not imported #1852

  • Error on catalog_helper: history_other_name

  • Error on taxon_name_relationship on rank_name.

  • Create new asserted distribution when is_absent is checked in New asserted distribution task

  • Repository selection does not appear in Filter Collection Objects #3430

  • Docker pointing to outdated base image.

  • Global identifiers resolve check not honouring HTTPS

  • Interactive keys were not properly scoping to projects in some cases

  • Annotations were sometimes added to objects that no longer existed #3445

  • Disable editing of imported rows in DwC importer task #3469

  • Fixed URL hostname string matching in some places.

  • Matrix Column Coder throws an error after autosave ends and observation to be saved no longer exists

  • New line delimiter doesn't work in Filter collection object #3480

0.33.1 - 2023-05-25


  • NOMEN batch importer error handling/reporting improvements #3427

  • More annotation-related facets to Observations filter


  • Autocomplete requests optimized by speed

  • NOMEN batch importer treats authors only as verbvatim, Roles are no longer created.

  • Upgraded to Node 18 LTS


  • Without depictions filter facets

  • Descriptors facets referencing observation/matrix presence/absence

  • Errors on taxon_name.rank_name and paper_catalogue.combination

  • Documents facet in Source filter

  • Documents from other projects appearing in count on radial annotator #3348

  • Verbatim name contained 'Suffix' #3425

  • Observation matrix facet doesn't work in Filter descriptors

  • Lock Is original and Is absent checkboxes in citation form

  • Pagination doesn't work correctly in Filter biological associations #3426

  • Records per page doesn't work on page change in Citations by source task

0.33.0 - 2023-05-19


  • Basic RCC5 support (= OtuRelationship) #257

  • Unified filter to observation matrix integration #3415

  • Biological associations can now be depicted

  • Data depiction facets

  • Biological associations filter annotation-based facets

  • New stage-only staged image type #3400

  • New left-t stage layout #3367

  • Add button to add biological associations from Related modal in new biological associations task

  • ImportDataset facet in Filter collection objects #3419


  • Updated author and year string for family-group names

  • Recent predicate list

  • Recent languages list

  • People autocomplete

  • GeographicArea autocomplete (exact match on alternate value)


  • Nomen (was “castor”) batch load was not assigning parent correctly #3409

  • Source and People API endpoints don't try to authenticate #3407

  • Date range in filter Collection Object not being applied #3418

  • Year import in NOMEN (was “castor”) import #3411

  • PublicContent missing is_community? method preventing reporting.

  • Loans dashboard fails to render when no loans are present

  • Staged image processing when boundaries fail to be calculated and calculate incorrectly

  • Bug with engine in interactive keys #3416

  • Collection object classification summary #3412

  • BibTeX typo #3408

  • Includes type material and type material observations don't work in Filter images

  • Changing the number of items per page or the page shows loan items that are not from the current loan in New/edit loan task #3413

  • Sort by name gives an wrong order in filter nomenclature task

0.32.3 - 2023-05-05


  • Add/move/return collection objects from collection object filter #3387

  • Interpretation help for full name facet in people filter #3394

  • Total individuals to loan show/recipient form #3398

  • Download SVG button in Biological associations graph task

  • Related modal in Biological associations graph task

  • Return BibTeX with extend[]=bibtex on calls to /api/v1/sources

  • Related button to biological associations in Browse OTU

  • Pagination for loan items in Edit/new loan task #3391

  • Caption and figure label editable in Depictions list in Radial annotator #3396


  • Pagination headers are exposed via CORS #3380

  • Updated bundle gems

  • Ruby 3.2 is now required as minimum

  • API /people and /sources resources no longer require authentication #3385

  • The genus rank is allowed as incertae sedis

  • Trigger filter after change records per page selector

  • Always show pin button

  • Browse OTU biological association table contains related modal


  • Global identifiers not appearing on community data #3393

  • Lag in selecting loan items on edit loan #3399

  • Collection object was loanable 2x in some cases

  • An issue when geo-json related facets were not being applied in Otu filter

  • Image filter with otu_id only returns as expected

  • Depictions/Images facet not consistent and broken #3395

  • Missing pagination for asserted_distributions API endpoint #3377

  • Delete wrong node in Biological associations graph #3383

  • Cannot clear Returned on date input for loan items in Edit/new loan task #3390

0.32.2 - 2023-04-03


  • Geographic area smart-selector has click-to-select map option #3293

  • Add collection object quick forms in New type specimen task

  • New layout for collection objects filter - Data attributes

  • DarwinCoreasscociatedTaxa indexing via data attributes #3371


  • Paper catalog raised when rendering some type material records #3364

  • Lock buttons are not working on New source task

  • Some rows don't show name string in Citations by source task #3370

  • Updating a data attributes updates related DwcOccurrences

  • API catalog method call #3368

  • Alternate values appear on community data #3363


  • Updated bundle gems

  • New D3 engine for object graph greatly improves performance, new rendering options

  • New DwC occurrence version reflecting #3371

0.32.1 - 2023-03-23


  • Date related rendering error in Catalog

0.32.0 - 2023-03-22


  • New biological association task #1638, in part #2143

  • New options to extend results in Nomenclature filter #3361

  • New panels for Adminstrators User activity dashboard

  • Deaccessioned layout for filter collection objects


  • Replace GeoJSON long/lat format to lat/long on interfaces #3359

  • Returned ability to show TaxonNameClassifications (from /taxon_name_classifications/list)


  • Deaccessioned facet in Filter collection objects #3352

  • Reversed OTU taxon name facet #3360

  • Relationships are not listed in biological associations form in Quick forms

  • Topics are not listed after create them on Citation form in Quick forms

  • Combination names are missing in Citations by source

  • Handle another class of SQED raises

  • TaxonNameClassification API call raises

  • Raises related to cached_nomenclature_date

  • PublicContent causing OTU destruction to raise

  • Several paper-catalog rendering issues

  • Geographic area smart selector is not rendering correctly on Common names slice in Quick Forms

0.31.3 - 2023-03-17


  • JSON nomenclature inventory endpoint /api/v1/taxon_names/:id/inventory/catalog


  • Serial name filter query doesn't work

  • Serial facet <IN WHERE>

  • Authors facet doesn't work on Filter nomenclature

  • Fixed bug preventing combination update

  • Loan facet doesn't work on Filter collection objects #3345

  • Valid name is not provided for all matches on Match nomenclature task #3343

  • Object links don't work on Interactive key

  • Alternate values on ObservationMatrix name failing

  • Start and End date in Collecting Event related facets


  • Updated Ruby gems

  • nomenclature related validation changed from nomenclature_date to cached_nomenclature_date, which should speadup the process

0.31.2 - 2023-03-09


  • Link from AssertedDistribution filter to BiologicalAssociations filter

  • All tab to biological relationships facet #3334

  • Biological Property to Manage controlled vocabulary terms


  • Add nomenclature code to relationships and statuses labels in Filter nomenclature #3333

  • All Loan edit requests resolve to the edit task #3330


  • Biological association filter raises #3335

  • Mass annotator for Sources showed no options

  • People filtering doesn't work on Filter nomenclature #3332

  • Biological associations section shows incorrect results in Browse Otu #3336

  • Error message on Combination [#3340]

  • Clone last citation button doesn't work

  • Missing asserted distributions in Browse OTU and Quick forms radial #3337

0.31.1 - 2023-03-07


  • Radial annotator documentation shows too much #3326

  • Cached values not updated #3324

  • Roles not displaying while edint loan #3327

  • Loan autocomplete #3329

  • Set as current button doesn't work on Original combination section in New taxon name task #3325

  • Repository autocomplete #3331

  • Some staged filter results failing to set size of window #3328

  • Fixed repository, source, serial, people autocomplete with new project_id param. New specs added

  • Short URLs not working due to Ruby 3.2 incompatibility.


  • /combinations/<id> redirects to /taxon_names/<id>

0.31.0 - 2023-03-07


  • Filter asserted distributions task #1035

  • Filter biological associations task #1156

  • Filter content task

  • Filter descriptors task #2802

  • Filter loans task #2124

  • Filter observations task #3291

  • Filters can mass-annotate select rows (e.g. Notes, Citations) #2257

  • Filter collection objects with/out preparations #2937

  • Filter collecting events with/out any date value, verbaitm or parsed #2940

  • Filter collecting events with any/no value in field (covers, in part #2756)

  • Collection object filter - add with/out local identifiers facet #2699

  • Collection object filter - de-accession facet #3195

  • Data attributes facet returns results matching/without any predicate value

  • Integrated filters (pass results from one to another) #2652 Also in full/part #1649 #2178 #2770

  • Match identifiers facet added across filters/API #3151

  • Nomenclature filter - facets for names with/out citations and with/out documentation #2865

  • Nomenclature filter - facet for by year described #2059

  • Nomenclature filter - facet to return names with/out (subsequent) combinations #3051

  • Nomenclature filter - facet to for with/out original combination #2496

  • Protocol facet to collection object, collecting event filters #2803

  • Task - Loans dashboard #2116 (in part)

  • Task - Source citation totals (linked from Source filter) #2305

  • Ability to “coordinatify” an OTU filter result #3317

  • Figure label in label on image API response

  • Input to create N records in Simple new specimen #3269

  • Soft_validation for seniority of synonyms

  • Added cached_author to TaxonName


  • Local identifier facet in filter CollectionObject #3275

  • Identifier within range includes +1,-1 results #2179

  • Data attribute facets #3075

  • Collection object filter finds objects by container identifiers #1240

  • Clarified collection object loan facet #3005

  • Radius based map searchers returned intersections, not covering results #2552

  • Data attributes not appending to DwC export #3280

  • DwC download from CollectionObject “not downloading”/closing #3313

  • Filter nomenclature returns original combination when there is none #3024

  • Staged image visualization incorrectly cropped #3260

  • Staged images incorrectly returning records with local-identified containers #3258

  • PK sequences was not setup in the correct dump stage in Export project task occasionally causing PK constraints errors on usage.

  • Radial object redirects to Data page after destroy a collection object in Simple new specimen task #3284

  • Wrong label for display unscored columns in Matrix column coder #3292

  • Duplicate records in nomenclature match task #3300

  • NeXML rendering bug

  • Breaking CoL export bug #3310


  • Unified look and feel of all filters [#445] [#1677]

  • Filter OTUs completely rebuilt, numerous new facets #1633

  • Filter collection objects displays (customizable) columns of many types, not just DwC #3197

  • Unified form of filter/API *_ids and *_id parameters to always use singular #2188

  • Merged 'Task - Overdue loans' with Loans dashboard #2116

  • Export project task now removes hierarchies rows that don't belong to selected project #3271

  • Export project task no longer includes delayed_jobs and imports tables.

  • Clipboard hotkey combination #3273

  • Recently used confidence levels improvements

  • Multiple nomenclatural soft validation improvements

  • Improvements to intelligence of various autocompletes

  • Improved cursor focus on new source task

  • Update Ruby to 3.2.1

  • Updated Ruby gems

  • Updated Docker container (including psql client version to 15)

0.30.3 - 2023-01-04


  • Search panel in New source task


  • Programming error breaking loop with exit instead of break when calculating previous OTU.

  • Crash when attempting to view a Verbatim source because BibTeX panel cannot work with that type of sources.


  • Updated Ruby gems.

0.30.2 - 2022-12-20


  • Asserted distribution citation label in Browse OTU

  • Records per page selector doesn't work in Filter Stage Images #3259

  • In NeXML output, TIFF images were not converted to JPG

  • Error when calculating previous OTU for navigation


  • Updated Ruby gems.

0.30.1 - 2022-12-16


  • BibTeX type facet for Filter sources task #3218

  • With/without Source::Bibtex title in Filter source task #3219

  • Hyperling names in Nomenclature match


  • “Remarks” column displays in Browse collection object DwC/gbifference panel

  • Browse OTU navigation dead ends #3056

  • Setting a Namespace to virtual updates cache properly #3256

  • Virtual namespaces identifier tags don't include duplicated Namespace #3256

  • Virtual namespace identifier preview does not render namespace

  • Incorrect valid name in Nomenclature match task

0.30.0 - 2022-12-15


  • CoL data package improvements for Remarks, metadata,

  • Integrated GBIF remarks flags into Browse collection object #3136

  • Next/previous navigation arrows to Browse collection object #3229

  • More details to steps in stepwise determinations task

  • Added soft validation for duplicate family group name forms and misspellings [#3185]

  • With/out local identifier facet for collection objects and stagd images #3173

  • Filter by housekeeping and staged-image data attributes #3171

  • Delete selected collection objects (and their related data) from filter #3174

  • Collection object Autocomplete has loan and deaccession banners #3192

  • Autocomplete on Browse collection object #3189

  • Task - Collection object chronology, a plot of object by year collected, that's all

  • Endpoint to return related data preventing or included in destroy, e.g. /metadata/related_summary?klass=CollectionObject&id[]=16701&id[]...

  • Filter by gender and form classifications in filter nomenclature #3212

  • Serial facet to Filter sources #3211

  • tooltips and actions configuration properties to Map component #3234


  • White-space around unit-tray headers #3191

  • Stepwise determinations confounded by invisible white-space #3009

  • OTU smart selector did not include items from the pinboard #3139

  • Source in n project autocomplete response [#3142]

  • 'Also create OTU' on batch taxon name upload causing raise

  • Media observations removed if they have no more depictions via updates

  • Citation link in biological association panel on Browse OTU

  • Type relationship text/rendering is inverted in New taxon name task #3182

  • Sqed processing failing to encode HEIC images #3188

  • Common list component doesn't filter created status on New taxon name task #3205

  • Collectors facet doesn't work on Filter collecting event #3216

  • original combination label disappears when relationship doesn't include the current taxon name [#3067]

  • Sometimes keyboard table is duplicating shortcuts

  • Export Project Database task not exporting rows whose project_id is NULL #3203

  • Close icon is difficult to distinguish when modal background is transparent #3245

  • Missing identifiers and determinations on collection object table in New collecting event task #3246

  • Click “Manage Synonymy” in Edit Taxon Name task does not redirect #3250


  • Behaviour of recent records (smart selectors) updated to reference updates, not just created timestamps

  • Lock, navigation, UI, and code refreshments to Simple new specimen #3190

  • “TODO list” now a faceted search named 'Filter staged images' #3171

  • Refactored observation cell component for Image matrix

  • Updated Ruby gems

  • Webpack binaries: Replaced npm bin for npm root to allow compatibility with recent NPM versions

  • Nomenclature match updates #2176

  • Navigation key combination for radial annotator #3233

  • Truncate smart selector lists

  • Allow compare n objects in collection object match #3238

  • Include total of match/unmatched in Collection object match [#3237]

0.29.6 - 2022-11-08


  • Print unit-tray headers from TaxonNames via Filter nomenclature #3160

  • New radial “Filter” navigators facilitating cross-linking to filters #2297

  • Option to force DwC indexing to prioritize names from Geographic Area #3143

  • Functionality to update CollectingEvents in the context of Browse collection object

  • Character state filter in Matrix Column Coder #3141

  • Better error handling and reporting when parsing BibTeX

  • Index for caching the numeric component of Identifiers


  • Updated Browse collection object interface #2297

  • Reload New source task by pressing New and loading source

  • Updated Ruby gems

  • Updated node packages


  • Incorrect soft validation message on TaxonName relationship [#3184]

  • Browse nomenclature crashing when taxon name descendants have no cached author year

  • Soft validation crashing when cached nomenclature date is absent

  • Role picker is missing after create a source from BibTeX #3180

0.29.5 - 2022-10-10


  • Source cached_value calculation [#3181]

  • Changed author labels on Filter source #3134

  • Minor changes to plots on administration activity dashboard

  • Parallelize some indexing rake tasks


  • Recent and Quick list are empty on Citation annotator #3133

0.29.4 - 2022-10-07


  • Distribution, Material Examined sections, and zip download for paper catalog [#3098]

  • Code full columns, destroy all observations in a column #3117

  • “Display only unscored rows” on Matrix column coder #3103

  • Previous and next links in Matrix row coder #3107

  • Match identifiers facet to Filter extract task #3089

  • Clone previous citation to citation panels #3097

  • scientificName is now implied in typeStatus when only the type of type is specified in DwC occurrences importer

  • Additional DwC classification terms #3118


  • Broken URL for images in NeXML #2811

  • Improved Confidence annotation speed #3126

  • Destroying a Georefernce re-indexes related CollectingEvent #3114

  • Numerous issues in “Castor” TaxonName batch load

  • CollectingEvent cached geo-names (e.g. used in DwC export) missclassified #2614

  • Order of descriptors in nexus and tnt output is updated to reflect the column ordering

  • Homonyms without replacement name are now marked as invalid

  • Visible identifiers raising (e.g. broken object graph)

  • Presence Descriptor is not saving in Matrix row coder #3099

  • Missing number of objects for presence/absence descriptors on Interactive keys #3102

  • New column button doesn't add the new column to the interface #3109

  • Taxonomy inventory API failing with common names when language is not set

  • Missing taxon_name_relationships parameters #3096

  • Create matrix row button redirects to wrong OTU in OTU radial

  • Determinations not added to containers in “Edit Loan”task #1935

  • OTU images disappear when moving other images to observation cells #3111

  • Basic nomenclature failing to redirect when no name was selected

  • List of All Topics is not displayed #3125

  • Refactor confidence form #3129

  • Destroy selected Labels does not work #3127

  • Creating multiple type materials in comprehensive task #3131

  • DwC occurrences importer not reporting error when typeStatus is non-empty and yet it doesn't have correct format

  • Interactive key - Presence / absence descriptors are placed in non relevant list #3100


  • Removed New OTU link from New observation matrix task #3101

  • Disabled horizontal resizing for textarea inputs on comprehensive

0.29.3 - 2022-09-13


  • View image matrix button doesn't work in Interactive key task

  • Missing collectors parameters in Filter collecting events.

  • Pagination on Image Matrix task

  • Project Preferences task causing internal server errors

  • Boolean params not handled correctly on specific conditions in some filters

0.29.2 - 2022-09-08


  • Administration level project classification visualization #3092

  • Recent paramter to asserted distribution filter #3086


  • Updated Gemfile

  • Handle long queries to match facets in filters #3088


  • Collecting event filter matching user creator/updator broken #3008

  • Rendering type material label with document label failed

  • Failed attempts at destroying a Predicate no longer raise

  • Prevent some breaking raises for Georeferences with invalid shapes

  • Select all button doesn't work in Print labels task #3093

0.29.1 - 2022-08-31


  • Radial navigator for TaxonName broken #3087

  • OTU link in New asserted distribution

0.29.0 - 2022-08-30


  • A simple paper catalog generator (preview!) #1473

  • Functions to summarize distributions for catalogs

  • GeographicAreas autocomplete references alternate values

  • People filter, with many facets #2876

  • Matches identifiers (results by delimited list of some identifier type) facet, to most filters #3080

  • Crosslink by ID between CollectionObject and CollectingEvent filters

  • Open in filter collection object button in Filter collecting event task

  • Added verbatim_label support for Collecting Event Castor batch load. #3059

  • Lock is_original and is_absent for Asserted distribution form in OTU quick forms #3085


  • Local identifiers on community objects were displayed across projects

  • Object type is missing when otu filter param is passed instead observation matrix id in Image matrix task


  • Alternate values can be used on GeographicAreas #2506

  • Alternate values on community objects are shared by all projects

  • Global identifiers on community objects are shared across all projects

  • Optimized identifier next/previous, not fully resolved #3078

  • Updated Ruby gems.

  • Upgraded to newer Gnfinder service.

  • Enabled 10km tolerance to geographic area validation for verbatim georeferences.


  • Migrates annotations on Community objects to be accessilbe across projects

0.28.1 - 2022-08-19


  • Settings modal is scrolled to the bottom when the modal is open.

  • Edit in image matrix and Open in matrix buttons don't open image matrix task on edit mode.

  • Create verbatim coordinates button dissapears after create request fails in New collecting event task

  • Depictions are not displayed correctly in Browse collecting event #3012

  • Cloned georeference are not loaded after cloning a collecting event #3076


  • Updated Ruby gems.

  • Updated Node packages.

  • Expanded drag and drop section in observation cell in Image matrix

0.28.0 - 2022-08-08


  • Added OriginallyInvalid relationship in ICN [#3315]

  • Add /api/v1/otus/123/inventory/content, includes embed[]=depictions #3004

  • Adds data_attributes, data_attribute_value, data_attribute_predicate_id, data_attribute_exact in filter concern #2922

  • /api/v1/tags endpoint with tag_object_type[],tag_object_id[], tag_object_type, object_global_id, keyword_id[] #3061

  • Added pagination in the image_matrix

  • Matrix Column Coder - coding by descriptor #1385

  • Soft validation and fix for adding subsequen combination when original combination is different #3051

  • Added 'electronic only' field for the source to flag sources published in electronic only format

  • Default collectionCode namespace mappings as falback when institutionCode:collectionCode mappings do not contain a match in DwC occurrences importer.

  • Remove search box in observation matrix hub #3032

  • Type material form allows multiple type species in comprehensive task. #2584

  • Updated Ruby gems.Yes

  • wikidata-client dependency is now fetching from RubyGems rather than custom fork.

  • serrano has been changed to a new custom branch which is identical to official gem except thor dependency has been downgraded for TW compatibility.

  • DwC occurrences importer mappings are not sorted by institutionCode:collectionCode


  • Object global id param in identifiers API/filter

  • Bad logic check on adding new user to project

  • Dependency loop problem in DwC checklist importer

  • Image matrix error

0.27.3 - 2022-07-20


  • Soft_validation for the year of taxon description compared to person years of life #2595

  • Pagination to Image matrix task


  • Fixes rendering the author string in the catalogue #2825

  • Include facet is not working properly in Filter nomenclature #3023

  • Role picker changes order of roles after removing one #3003

  • Observation matrix TNT export failed due to undefined method error #3034

  • Date start and Date end display flipped in “Filter Collecting Events” #3039

  • Role picker list doesn't display suffix and preffix

  • By user facet is passing member id

  • Project user last seen at correctly reported


  • Softvalidation message for new combination is rewarded

  • The genus rank is allowed as incertae sedis

  • ElectronicPulbications moved from NomenNudum to Unavailable.

  • Updated Ruby gems and Node packages

  • OTU name string into link in Observation matrices dashboard task

0.27.2 - 2022-06-22


  • Updated csv output for an observation matrix [#3040]

  • Content panel in browse OTU not working properly

  • Darwin Core Export failing on specific combinations of data attributes selection.


  • Updated Ruby gems and Node packages

0.27.1 - 2022-06-21


  • People/Name toggle remove historical option for name #3028


  • Content attributes response

0.27.0 - 2022-06-17


  • Task to manage pubilcation of Content to PublicContent #3004 in part

  • Task to merge taxon name relationships from one taxon to another #3022

  • Add determiner_name_regex to collection object filter #3026

  • API interactive key engine endpoint /api/v1/observation_matrices/123/key.json

  • API depictions endpoint api/v1/depictions/123.json?extend[]=image&extend[]=sqed_depiction&extend[]=figures

  • Taxon determinations stats in stats API

  • Setting tags for collecting events and collection objects in DwC occurrences importer #3019, #2855


  • Column order in Observation matrices dashboard task

  • Size of description input in Protocol form

  • Error code for merge people response


  • Annotations panel doesn't display notes in Browse nomenclature

  • Wildcard matches on collecting event attributes failing

  • Select row in Observation matrices dashboard assigns incorrect ID

  • Last week citations stats in API showing values for images. #3020

  • Annotations panel doesn't display notes in Browse nomenclature

  • Geographic areas download failing to generate CSV

  • Flip is not working propertly in Uniquify people task

0.26.2 - 2022-06-05


  • Updated Ruby gems


  • Filter collection object not working when attempting to show the record

0.26.1 - 2022-06-03


  • Upgraded to Ruby 3.1 #3011

  • Updated Ruby gems

0.26.0 - 2022-05-30


  • Task - Stepwise determinations, facilitate verbatim to parsed determinations en masse #2911

  • Two more digitization stage types, “T” and “Inverted T” #2863

  • Added soft_validation fix to missing collection_object determination, when the type is designated [#2907]

  • Confirmation button for tags, preparation type and repository panels in CO Match #2995


  • Upgraded Node to version 16

  • Replaced Webpacker for Shakapacker gem

  • Upgrade PDF viewer library


  • Nomenclature and observation matrix stats #1124

  • Cannot add a determination after editing one in comprehensive task #2996

  • “In project” button is not updated after select a different source in Edit source task #3000

0.25.0 - 2022-05-19


  • Link to Download project in show project #2775

  • OTU geo-json inventory API endpoint, /api/v1/otus/123/inventory/distribution.

  • Collection object classification summary task #1864

  • Notes facet to Collection Objects filter #2966

  • Confirmation modal for clone button on New collecting event task #2978

  • Minutes/record estimate in project activity task #2979

  • Pagination in Citations by source task

  • Current repository facet in collection object filter #2975


  • Identifiers added to print labels [2959]

  • Improved Extract tables #2884

  • Improved Repository autocomplete #2993

  • Refactor citations by source task

  • Person autocomplete optimization

  • Cleaned up Label UI text

  • Removed some jQuery

  • Updated Ruby gems via bundle update

  • Use Catalog for API source of OTU nomenclature citations


  • taxonworks.csl update for stated date [#3021]

  • Improved project activity to include current session [#3013]

  • Extract/protocol UI issues #2990

  • Source year_suffix preventing cloning #2992

  • Dwca eml.xml file validates locally #2986

  • Missing params for api_nomenclature_citations added

  • Converted wkt parsing errors from exceptions to validation

  • DwcOccurrence version scope to project in Hub

  • Fixed soft validation on Collection Object related to determination date #2949

  • Original combination soft validations are not loaded when New taxon name task is opened

  • ObservationMatrixRow|ColumnItem index view failing because new links are not available

  • Author roles are no visible in Citations by source task

  • Increasing number of labels to print while label is selected adds that many to preview #2973

  • Geographic areas are not suggested based on verbatim coordinates in comprehensive and new collecting event task #2982

  • Cannot sort by column in filter collecting event task #2970

  • “Recent” determiners not working in Comprehensive #2985

  • Determiners locked are missing after press “Save and new” in comprehensive task #2943

  • Crashing when creating georeferences with invalid WKT input

  • ObservationMatrixRow|Column index and autocomplete calls

  • Lock source button is not working in OTU radial - biological associations form [#2989]

  • New type specimen duplicates specimen when updated after creating #2994

  • Sort column option is not working on Filter collection objects

  • Toggle members buttons is not working on Browse annotator

0.24.5 - 2022-05-03


  • Previously loaned and returned CollectionObjects are unloanable #2964

  • People smart selector doesn't work to add new roles #2963

  • Type species section is empty in Browse OTU

  • Missing depictions caption and figure label in Image matrix task #2965

0.24.4 - 2022-05-02


  • Organization roles to taxon determinations model


  • Repository autocomplete raises #2960

  • Duplicated text in TaxonDetermination link #2947

  • Housekeeping facet in CollectingEvent filter broken #2957

  • Cannot set Determiner of CO to department/organization #2915

  • Combination view is broken on Browse nomenclature #2952

  • Matrix row coder button in Observation matrix dashboard task redirect to a wrong OTU in Image Matrix task [#2956]

  • Depiction radials are not working in Image matrix task #2954

0.24.3 - 2022-04-28


  • DwC export includes occurrenceStatus #2935

  • Tag panel for images in New images task #2919

  • Repository section for Collection object match task #2918

  • Preparations section for CO Match task #2930

  • Match collection object button in Filter collection object #2917

  • Lock button for By section in New extract task #2926

  • With preparation facet in Filter collection objects #2937


  • Improved(?) behaviour of Extract autocomplete #2923

  • New BiBTeX based Sources match and/or create Serials for some types #2719

  • Improvements for taxon determinations in comprehensive task

  • Observation Matrix CSV dump uses full object labels #2912

  • Allow multiple origin relationships in New extract task #2928

  • Enable biocuration buttons only for the current collection object in comprehensive task [#2946]

  • Updated ruby gems


  • Display full citation in image viewer #2857

  • Extract filter OTU id match not matching determinations #2925

  • Improve observation matrix row label handling #2902

  • Showing related data for Descriptor broken #2934

  • Collection object label is not updated after saving determinations in comprehensive task #2899

  • Label form is not updated after loading a collecting event in Comprehensive task #2898

  • Preferred catalog number for collection objects using first created rather than top of the list (also fixes wrong otherCatalogNumbers in DwC export) #2904

  • Missing not fixable error message for automatically soft validations #2877

  • Recent lists on Data have broken flex CSS #2920

  • Generating label from collecting event with verbatim trip identifier duplicates tripcode #2921

  • Leaflet map does not center the view on shapes

  • Programming typos affecting error handling in some batch loaders

  • PDF reading causing software crash with some PDF documents (e.g. encrypted and/or having unsupported features)

  • “virtual” spelled “virutal” #2938

  • Protocols should not display origin #2927

  • Determination lock not working for “Add to container” in Comprehensive task #2943

  • Role types table in uniquify people renders poorly when “show found people” or “show match people” enabled #2894

  • Syntax error during code generating synonyms and descendants for catalogs

0.24.2 - 2022-04-15


  • New units mg, µg, ng, ml, µl, nl, ng/µl, Ratio (for Descriptor, etc.) #2887

  • Project activity report includes community data (but not scoped to project) #2893

  • Protocols for Observations #2889

  • Increment tripcode in New collecting event task #2441

  • Now and today buttons for time/date made #2888

  • Radial navigator to New extract task #2885


  • Refactor Uniquify People task. Added improvements #2858

  • Removed PDF viewer broad channel event

  • Updated Ruby gems


  • Extract -> show rendering raising #2886

  • People being set as invalid during automatic activity updates

  • Project activity session report shows hours properly #2878

  • xAxis category ordering of Project activity #2891

  • Sometimes it's not possible move images from one cell to another in Image matrix task [#2874]

  • Uniquify people task are not merging all selected match people #2892

  • Media observations are not displayed after creating them using drag and drop box in Matrix row coder task. [#2880]

  • New extract task loads incorrect repository for existing extracts #2883

  • Extract edit link in New observation matrix task #2896

  • Incorrect matrix list is displayed on Observation matrix slice in Radial object #2901

  • Pages label is not displayed in citation form in comprehensive task #2903

0.24.1 - 2022-04-04


  • Time ranges for eventTime in DwC occurrences importer are now supported

  • Updated Ruby gems


  • Observation matrix row filter generalized to work for all observation object types #2873

0.24.0 - 2022-03-31


  • Collection object current_repository_id and interface toggle #2866

  • Use Namespace as DwC collectionCode #2726

  • Notes on CollectionObject export to DwC occurrenceRemarks #2850

  • Link to comprehensive digitization collection object via ?dwc_occurrence_object_id=123 #2851

  • Project user activity report task #50

  • 'Inferred combination' to Browse taxon name header, when required #2836

  • Extract autocomplete

  • Matrix row coder supports mutiple Quantitative and Sample observations per “cell”

  • Extracts are observable #2037

  • Download observation matrix descriptors as text

  • Download observation matrix observations in .tab format

  • Observations have made_year|month|day|time attributes

  • Qualitative descriptor batch loader (Data->Descriptors->Batch load) #1831 (in part)

  • Modal depictions for all descriptors in Matrix row coder #2847

  • New georeference type for user-supplied points #2843

  • Extract rows in New observation matrix

  • Depiction modal for all descriptors in Interactive key

  • Link CollectionObject batch load to DwCA importer #2868


  • Administration activity report

  • DwC export uses a “sorted” column order #2844

  • Observations now are polymorphic #2037

  • Replace autocompletes by smart selectors in Common Name form on OTU radial #2840

  • Updated Ruby gems

  • DwC importer sex mapped changed to prioritize DwC URI and also create sex biocuration group with such URI if none exist.

  • Taxon name label for original combination label in Citations by source task.

  • Add separate scrollbars to row and column tables in New observation matrix task #2799

  • Change form fields order in OTU radial - Biological associations

  • Updated ruby gems

  • Close modal after select a status in New taxon name

  • Escape new additional pseudo-LaTeX encodings from BibTex data


  • DwC georeferencedProtocol references Protocols properly #2842

  • DwC georeferencedBy references Georeferencers properly #2846

  • Administration activity report raising #2864

  • OTUs and collection objects batch-loaders failing to initialize due to Ruby syntax error

  • Sqed depictions crash on cache update when no processing results are available

  • Asserted distributions on OTU radial is_absent no longer locks #2848

  • After saving an area with 'is absent' flag, the form stays locked in OTU radial Asserted distribution

  • Uniquify people roles list is missing role_object_tag #2853

  • Large list of taxon names are not loaded in Citations by source

  • Missing source_id parameter in Citation by source link on New asserted distribution and Browse OTU

  • New CO assigns a wrong Identifier type in New collecting event task #2862

0.23.1 - 2022-03-01


  • Qualitative descriptor modal in matrix row coder #2763

  • Pin button for organization in attribution annotator #2551

  • Image inventory/filter endpoint for OTUs /api/v1/otus/123/inventory/images #2656

  • Option to error records if typeStatus is unprocessable in DwC occurrences importer #2829

  • Several taxon name classifications in DwC checklist importer #2732


  • Allow matching protonyms in DwC occurrences importer even on cases where the imported classification is a subset of the existing one #2740

  • Updated Ruby gems

  • Copying observations from object to object also copies their depictions #2823


  • Not all year metadata automatically updated Person active metadata #2854

  • DwC importer looking up collecting events outside the scope of the current project

  • Missing names in hierarchy tree on Browse nomenclature task #2827

  • DwC importer finding names by original combination without project scope #2828

  • DwC export month field exporting day value rather than month #2835

  • Use unofficial serrano repo to fix problems with citeproc-json responses

  • DwC Occurrence Importer settings modal lags on open when many namespaces set #2834

  • Destroying last Depiction for Observation::Media destroys Observations #2269

  • Allowing to use same Namespace short name with different casing (e.g. 'alpha', 'Alpha')

0.23.0 - 2022-02-18


  • Extract Filter #2270

  • Protocol facets for filters, currently on Extract filter

  • OTU descendants API endpoint .../otus/123/inventory/descendants #2791

  • Download SVG button in object graph task #2804

  • Rake task to generate Data documentation #2352

  • Confirmation window for delete documentation in radial annotator #2820

  • Drag and drop to sort predicates in project preferences #2821

  • Endpoints for observation matrix row and column labels #2800

  • Matrix row navigation in Matrix row coder #2800

  • Download enabled for controlled vocabulary terms #2809

  • Type materials metadata extension for /api/v1/otus


  • Tweaked how Extracts are displayed in various views

  • Browse nomenclature task was renamed to Browse nomenclature and classifications #2638

  • Add origin citations for taxon name relationships/classifications, renames route #2790

  • Add Download customization #2748

  • Show Images section in Browse OTU for GenusGroup #2786

  • User facet: Now button sets end date in Filter interfaces #2788

  • Changes content and layout ouf hierarchy navigator in Browse nomenclature task #2797

  • Scroll tables in New observation matrix task #2799

  • Updated Ruby gems

  • Replace autocomplete with OTU picker in biological associations form in radial object


  • Author string for incorrect original spelling #2743

  • Type species section doesn't work in new taxon name #2785

  • Missing Variety and Form ranks in original combination section for ICZN in New taxon name task #2795

  • Check if current identifier is the same as current in comprehensive task #2550

  • Comprehensive digitization - entering '0' in total breaks the interface #2807

  • Download link doesn't work in data list view

  • Edit in Browse collecting event #2814

  • DwC importer is more robust to invalid taxon names

0.22.7 - 2022-01-26


  • Add more date (redundant) fields to DwC export #2780

  • Import and export custom label style in print label task

  • Attributions in Filter images #2639

  • People, role, images stats to /api/v1/stats

  • basisOfRecord in DwC exports can be FossilSpecimen via biocuration

  • Classification section for Combination in New taxon name (botanical nomenclature support) #2681

  • API /api/v1/otus/:id includes &extend[] for parents


  • New interface for biocuration groups and classes

  • DwCA export is much faster

  • CSV export optimized

  • basisOfRecord now maps as biocuration classification in DwC occurrences importer.

  • Updated ruby gems

  • Updated js packages

  • cached_is_valid is now used in interfaces to show if a taxon is valid or invalid

  • Refactor Manage biocuration classes and groups task #83


  • occurrenceID missing from DwC exports. #2766

  • Cloning columns from matrices sometimes partially failed #2772

  • Missing Custom style button in Print label task #2764

  • Missing valid/invalid/combination mark in citation by source task #2760

  • Missing observation matrices in copy columns/rows from another matrix in New observation matrix task #2753

  • Handing of family names starting with O' being recognized as given names #2747

  • Error 500 deleting a biocuration term #2181

  • Uniquify people task shows “0” in used column and no roles #2769

0.22.6 - 2022-01-10


  • Option to select all and quick tag in Filter image task #2744


  • Perform georeferences caching in background for faster DwC occurrences import #2741

  • Permit use of Ruby 3.1

  • Updated Ruby gems.

  • DwC occurrences importer: When matching protonyms also consider their alternate gender names if there are no matches by exact name. #2738

  • Allow import of specimens with empty catalogNumber even when institutionCode and/or collectionCode are set.


  • Several batch loaders not working due to syntax incompatibility with currently used Ruby version. #2739

0.22.5 - 2021-12-22


  • Fixed “eye” validation crash when activated in Browse Nomenclature task #2736

0.22.4 - 2021-12-21


  • Add reset filters button in DwC import task #2730


  • Add space on navbar in New taxon name #2701

  • Updated ruby gems and node packages.

  • Tabindex in model view


  • Overdue loan date time ago #2712

  • Descriptor character state destroy raising #2713

  • Loan items status not updatable (also new specs) #2714

  • Collecting event filter depictions facet #2720

  • Taxonifi wrapper init was broken

  • Character order selector sends null value on blank selection #2707

  • Interactive keys is loading two matrices on autocomplete search #2706

  • Select observation matrix is not displaying all observation matrices #2708

  • Crashing when attempting to download DwC results from Filter Collection Objects task with 'Treat geographic areas as spatial' set.

  • Stats response contains projects count when project token is set.

  • Menu options broken when right-click on matrices in Observation matrix hub #2716

  • Copy rows from matrix in New observation matrix

  • GnFinder playground incompatibility with current GnFinder API

  • DwC checklist importer issue with synonyms have wrong rank #2715

  • Scientific name not cached properly when the taxon name is classified as part of speech #2721

  • Depictions dropzone tries to create Depictions before saving collecting event

  • Clipboard is not releasing key combination when the user clicks outside the window and release keys #2724

  • Removed destroy! pattern from various controllers

  • Unable to create loan items in Collection object match task #2731

  • DwC import search criteria is missing when search box is reopen #2729

  • Unable to download CoLDP exports

  • Otu facet in Filter image task

0.22.3 - 2021-12-03


  • Ability to inject links into Content via hot-key searching #1674


  • Upgraded to Postgres 12 in Docker Compose development environment. Postgres 10 container and volume are still present to allow for automatic data migration.


  • Identifier form elements on SQED breakdown #2700

0.22.2 - 2021-12-02


  • Upped from 40 to 500 the cutoff point at which updating a collecing event will trigger a DwcOccurrence rebuild

  • Added a url_base option when rendering metadata partial


  • Author by first letter (/people.json) [2697]

  • Loan recipient helper methods were confused with loan helper methods

  • Subsequent combination link in new taxon name task #2695

  • Unable to create tags in batches due to Ruby 3 syntax changes.

  • Observation matrices crashing due to response pagination bug.

  • Unable to create namespaces due to debug code accidentally added.

0.22.1 - 2021-12-01


  • Georeferences can link to Protocols


  • API -added extend character_state option to /observations


  • Updated reference string for 'classified as' relationship in Browse nomenclature

  • Custom attributes are not cleared on new record #2692

  • API - /api/v1/observation_matrices with no params failed

  • Asserted distribution link wasn't HTML safe

0.22.0 - 2021-11-30


  • Indecies on taxon name hierarchies table

  • Batch create user admin task #2680

  • Radial navigation in loan task

  • is_gift boolean to Loan

  • Loan item notes, type status, and recipient form layout improvements #2657

  • Recipient form link in Edit loan task

  • Gift checkbox in Loan task

  • API routes for data attributes via /api/v1/data_attributes #2366

  • API routes for observation matrices via /api/v1/observation_matrices

  • API route “status” for taxon names /taxon_names/api/v1/123/status #2243

  • API route “activity” for recent records/project /api/v1/activity?project_token=123&past_days=9 #2207

  • Indecies for updated_at on some large models

  • Observation matrix query filter (minimal)

  • Add download table button in DwC Importer

  • Confidence button on subsequent combination in New taxon name task

  • Create and new button in New descriptor task #2594

  • Content text is cropped on edit in OTU radial #2676

  • Diagnosis status in matrix row coder #2674

  • Layout preferences in comprehensive task #2673

  • API /api/v1/collection_objects includes &extend[] for dwc_fields and type_material

  • API /api/v1/taxon_names/123/status endpoint for human readable taxon name data and metadata (in part #2665)

  • is_virtual option to Namespace


  • Upgraded to Ruby 3.0.2

  • OTUs can be loaned 2x #2648

  • Upgraded gems

  • /collection_objects.json response uses &extend[]=dwc_fields to return DwC fields; includes metadata

  • Removed a loan item status 'Loaned on' (it's inferrred)

  • Replaced Webrick with Puma (developers-only change)

  • Improved loan autocomplete metadata #2485

  • API observation responses are now isolated from internal

  • DwC occurrences importer now accepts |, :, ; and , as separators for higherClassification.

  • Restrict subsequent combination fields for genus and subgenus. #2677

  • Moved matrix autocomplete into Include in matrix section in New descriptor task #2685


  • Update Source autocomplete [#2693]

  • Containerized specimens export their identifier to DwC

  • Biological association objects could be destroyed when referenced in biological association

  • Reordering matrices by nomenclature when some rows have none

  • Tag facet bug affecting all filters but Source #2678

  • View errors on rows with no metadata in DwC importer

  • Scrollbar in alternate values annotator #2651

  • Missing data on response in citations annotator #2653

  • Missing author and year in taxon name on Citation by source #2650

  • Duplicate combinations in subsequent combination on New taxon name #2654

  • Missing documents in source filter #2661

  • Clonning source does not clean the doccumentation section #2663

  • Extra scrollbar in asserted distributions annotator #2662

  • The citations annotator sometimes displays a created citations that are not part of the object

  • Move synonyms section not visible #2670

  • Collecting Event collectors are not loaded when CE is selected using smart selector in Comprehensive task #2669

  • Genus descriptor interface

  • Free text character not saved if pasted from clipboard in Matrix Row Coder #2672

  • DwC importer crashing on invalid nomenclatural code

  • DwC exporter swapped decimalLatitude/decimalLongitude

  • Error in Filter Collecting Event task when filtering by attributes that are stored as numbers in database

  • Set as current button it isn't working when taxon parent is root on Subsequent combination #2688

  • DwC checklist importing: original combination having wrong genus in some cases #2684

0.21.3 - 2021-11-12


  • Loan addresses don't strip line-endings, and display in form #2641

  • Replace radial navigator icon #2645

  • Update smart selector tab selected on refresh


  • Loan id facet #2632

  • Roles in Image viewer

  • Missing roles after trigger page autosave in new taxon name #2631

  • Tag smart selector in new image task

0.21.2 - 2021-11-11


  • Support for DwC terms on body of water depth #2628

  • Filter Collection Objects by a specific Loan #2632


  • Updated ruby gems.


  • Containerized specimens display catalog number in tag correctly #2623

  • Improved CrossRef parsing for a new source #997

  • Container label shows catalog number for loan items #1275

  • Determiners are not saved after lock the list in comprehensive form #2626

  • Wrong rank for original combinations in DwC checklist importer #2621

  • No longer exposing exception data for failed records (not to be confused with errored) in DwC importer.

  • Smart selector is not working in Browse Annotations

  • Biological associations in OTU radial #2630

  • Fix citations on asserted distribution list in OTU radial #2629

  • Subsequent combinations are not scoped #2634

  • Missing scroll in alternate value annotator #2635

  • Smart selectors are not refreshing in New source #2636

  • Radial navigation doesn't work on source in New taxon name task #2633

  • Determiner is not selectable on Grid Digitizer after “Create and new” #2637

  • DwC Dashboard data version counts correct now #2627

  • Common statuses are not displayed in New taxon name task #2642

  • Nomenclature and OTU (biology) display the same thing on Browse OTU page #2644

  • New combination task hangs editing a combination #2646

0.21.1 - 2021-11-05


  • Citations in image viewer

0.21.0 - 2021-11-04


  • Added new handling for plant name author_string.

  • Added new Combination section to handle historical protonym combination.

  • Add new task 'Object graph', visualize and navigate your Things via a force-directed-graph (network) #2587

  • New combination editing, including support for multiple authors in plant names #666

  • Add new global identifier class for glbio repositories

  • New parameters for fine-tuning the API responses, &extend[]= and &embed[] #2531

  • Parameter value origin_citation via &extend[]= to all basic GET /object(/:id) requests #2531

  • Parameter value pinboard_item via &extend[]= to all basic GET /object(/:id) requests #2531

  • Parameter value citations via &extend[]= to all basic GET /object/:id requests #2531

  • Parameter values roles and documents via &extend[]= to /sources(/:id).json #2531

  • Parameter values protonyms and placement via &extend[]= to `/combinations(/:id).json #2531

  • Parameter values parent, otus, roles, ancestor_ids, children, type_taxon_name_relationship via &extend[]= to /taxon_names(/:id).json #2531

  • Parameter values level_names, geographic_area_type, parent via &extend[]= and shape via &embed[]= to /geographic_areas(/:id).json #2531

  • Parameter value subject, object, biological_relationship, family_names via &extend[]= to /biological_associations(/:id).json #2531

  • Parameter value citation_object, citation_topics, source, target_document via &extend[]= to /citations(/:id).json #2531

  • API route /taxon_names/parse?query_string=Aus bus for resolving names to Protonyms

  • Parameter value roles via &extend[]= to /collecting_events(/:id).json #2531

  • Param to isolate TaxonName smart select to Protonym if optional

  • Resize column in Filter tasks #2606

  • Confirmation banner in 'Collection Object Match'


  • Added new DwcOccurrence date-version

  • dwcSex and dwcStage are now referenced by BiocurationGroup #2615

  • Improved autocomplete search for Serials, Sources and Repositories #2612

  • Ordering of GeorgaphicArea autocomplete results. Used areas and areas with shapes are prioritized

  • Basic (REST) endpoints send less information, use &extend[] and &embed[] to return more #2531

  • Numerous tasks updated to use the new REST pattern

  • Objects in basic show/index JSON endpoints are represented by their metadata, rather than all their attributes in many cases now #2531

  • Metadata in extensions does not cascade and return metadata of metadata #2531

  • JSON smart-selector data (/sources/select_options) includes base attributes, not metadata #2531

  • Updated corresponding ap1/v1 endpoints to use the &extend[] pattern for /otus, /taxon_names, /combinations, /sources, /citations (in part) and biological_associations to match the new parameter values above

  • API /api/v1/biological_associations uses metadata for related objects

  • Optimized Source smart selection queries

  • Added option in DwC importer to specific the dataset type (defaults to auto-detection).

  • Replace autocomplete for smart selector in alternate values annotator #2610


  • DwC recordedBy not referencing verbatim_collectors, only collectors #2617

  • DwC recordedByID returning delimiter only records

  • DwC decimalLatitude/Longitude incorrectly mapped #2616

  • Citation style taxonworks.csl is updated [#2600]

  • collector_id broken in CollecitonObject filter

  • Failure when setting up namespaces in DwC importer with datasets having unnamed columns

  • Namespace settings are not cleared when unmatched and re-opened in DwC Import #2586

  • ScientificNameAuthorship parsing issues in DwC importer #2589

  • Author and editor roles are missing after save or create a source in New source task [#2607]

  • Rank genus not being auto-detected when uninomial name in scientificName matches genus term value exactly

  • Soft validation block is displayed when is empty in New source task #2611

  • Clipboard shortcut hot-keys were broken

  • Serial raises on failed destroy gracefully handled

  • CrossRef assigns the wrong serial when journal is not present (partial) #2620

0.20.1 - 2021-10-15


  • Added missing OTU soft_validation for protonym

  • Added recent values on keywords

  • Added Attribution attributes to /images API show responses

  • API /images can return images by image_file_fingerprint (MD5), in addition to id


  • Updated author string for misspellings

  • Removed footprintWKT from DwcOccurrence. It will be re-instated as optional in the future.

  • Removed GeographicArea from consideration as a georeference in DwcOccurrence

  • Changed associatedMedia format, pointed it to

  • Removed redundant 'Rebuild' button from Browse collection objects


  • DwC Dashboard past links are properly scoped

  • DwC Dashboard graphs show proper count ranges

  • DwC archive no longer truncated at 10k records

  • OccurrenceID was not being added to DwcOccurrence attributes in all cases #2573

  • Observation matrix show expand was referencing the wrong id #2540

  • Copy pasting into verbatim year with alphanumeric gives error even though numeric are all that are visible in New taxon name #2577

  • Record doesn't sync/update the list in OTU quick forms #2576

  • TIFF images are not visible in filter image task #2575

  • Repository input shows value, when not set #2574

  • Images don't load after expand depictions sections in comprehensive task

  • DwC occurrences importer being too strict when checking against existing nomenclature #2581

0.20.0 - 2021-10-12


  • Task DwC Import for importing DwC Archive files

  • Task DwC Dashboard facilitating DwCA download, metadata reporting, and “health” checks #1467

  • Updated framework for producing and downloading DwC Archives (DwCA) #1775

  • Increased from 21 to 53 the number of fields referenced in the (DwCA) dump, including identifiedByID and recordedByID #1269

  • Auto-generation of UUIDs for instances that don't have global identifiers during DwcOccurrence record building #2186

  • Wikidata (Q) and ORCiD support for people references in DwCA dumps

  • Georeferences can have Confidences assigned to them #1772

  • CSL style 'taxonworks.csl' used as the default style for displaying sources #2517

  • Custom CSL citation support for reference formating (see styles at bottom of select format list). New .cls submitted via issue tracker and integrated to source.

  • New .csl style 'world_chalcidoidea_book.csl“

  • BibTeX fields support verbatim values using “{}” for fields otherwise processed in BibTeX sources (e.g. author)

  • New specs for rendering Source citations

  • &extend[] and &embed[] helper methods for REST responses #2532

  • A new soft validation option to auto fix for objective synonym that must share the same type

  • Add Download, Full size and Radial navigation buttons in Image viewer #2423

  • Endpoint /tasks/dwc/dashboard/index_versions returns the dates at which DwcOccurrence indexing was modified. !! TODO: update date of merge.

  • Endpoint /dwc_occurrences/metadata, for stats on the state of DwcOccurrence index

  • Endpoint /dwc_occurrencs/predicates to return a list of Predicates used on CollectionObjects and CollectingEvents

  • Endpoint /dwc_occurrences/status to check whether DwcOccurrence records are up-to-date

  • Endpoint /dwc_occurrences/collector_id_metadata to check whether People referenced in DwcOccurences have GUIDs

  • Task on Administration panel, “Reindex”, with (temporary) options to re-index small blocks of DwcOccurrence records

  • Button on CollectionObject filter to download filter result as DwC Archive #1303

  • User can select a corresponding Person as their data representation (facilitates Identifiers for Users) #1486

  • Centroid index on GeographicItem

  • Field total_records on Download

  • Index on polymorphic fields of DwcIndex (e.g. faster queries to CollectionObject)

  • Index on data_origin for GeographicAreasGeographicItem

  • Identifiers for AssertedDistributions

  • Various relationships enabling the joining of DwcOccurrence directly to other classes of data (e.g. Georeferences)

  • Isolated Georeference related utilities into their own module CollectingEvent::Georeference

  • A Taxonomy module that caches classification values, used in CollectionObject, and Otu

  • Methods to return when a record attribute was updated (e.g. verbatim_locality changed), and who did it for Papertrail including classes of data

  • Methods to handle multiple classes of globally unique identifiers on DwcOccurrence records

  • Pattern for isolating modules that aid DwC serialization per class of data

  • Optimized to_wkt to quickly return well-known-text for geo-shapes (in part, #2526)

  • New subclass of UUID Identifier::Global::Uuid::TaxonworksDwcOccurrence

  • Clarified, viageoreferenceSources and georeferenceProtocol why there are many decimal points in DwC latitude/longitude referencing fields #915

  • Option to rebuild single DwcOccurrence record for CollectionObject #2563

  • Ability to show observation matrices > 10k cells in size [#1790]

  • Rake task to rebuild source cached

  • Add download and radial buttons for image viewer in filter image


  • Downloading formatted sources with mixed types (BibTeX/Verbatim) failed #2512

  • Collection object filter type material param

  • Taxon name filter type metadata param fails #2511

  • Cloning a collecting event fails #2533

  • Modified recordedBy fields to only reference collector #2567

  • Many TDWG gazeteer references will now be properly categorized into state and country labels #2542

  • In Browse Nomenclature removed link to self for invalid taxon names with no synonymy #2327

  • Add missing original citation to synonym names in CoLDP export #2543

  • Uniquify people slow when many roles present #2528

  • Match combination when protonym has synonym relationships [#2525]

  • TaxonNameRelationsip type_method returns nil properly on unmatched types [#2504]

  • Taxon determinations list in comprehensive task

  • The clone button doesn't trigger update taxon name after authors were cloned [#2513]

  • Georeference count in new collecting event task #2519

  • Autofocus in New taxon name task #2523

  • Geographic area counts as georeference. Soft validations are sometimes loaded before saving georeferences #2519

  • import_dataset_id parameter persist on after resetState in DwC Importer #2529

  • Updated Ruby gems and Node packages

  • In project button #2530

  • View image matrix is passing wrong ids [#2537]

  • Observations with depictions sometimes are removed after move a depiction #2549

  • Relationship facet in Filter nomenclature

  • Determiner facet (param) in Filter collection objects

  • Verbatim year input allows alphanumeric numbers in New taxon name

  • Labels list renders for those linked to objects, or not


  • Updated “ICZN binomial” to “ICZN binominal” following the Code dictionary

  • Radial annotator Tag form uses a Keyword smart selector #2564

  • DwcOccurrence is rebuilt/refreshed each time Browse Collection Object is hit

  • footprintWKT is hidden in Browse CollectionOjbect #2559

  • Tweak geo coordinate matching on verbatim labels

  • Year suffix, stated year, language, translated title and notes added to bibliography rendering via to_citeproc

  • Removed label_html from /people responses

  • /people JSON param from &include_roles=true to &extend[]=roles

  • Prefer project sources in source autocomplete

  • Status name 'not for nomenclature' changed to 'not in published work'

  • Year letter is no longer appended to year in BibTeX exports

  • Include project's name in CoLDP exports filename #2509

  • Implemented STI for downloads #2498\

  • Upgraded gnfinder gem that makes use of new REST API

  • Refactor help code

  • Unified various DwC value returning methods in their own explicitly named extensions

  • Isolated CollectionObject filter and API param handling to their own module for reference in multiple controllers

  • DwcOccurrence individualCount is now Integer

  • Database ConnectionTimeoutErrors now result in a 503 response rather than a raise/email-warning

  • Added various :inverse_of across collection objects related models

  • DwcOccurrence#individualCount is integer now

  • Simplified SQL for ordering GeographicArea shapes

  • Tweak validation of ORCIDid format

  • Move autocomplete and lookup keyword to CVT controller #2571

  • Task Content by nomenclature can be customized by selecting a Topic

  • Remove identifier section in New type specimen

  • Nill strings (“u0000”) are stripped from fields before writing

0.19.7 - 2021-09-09


  • Add link to new type specimen task from type material form

  • Export Observation::Media depictions as proxies for Otu depictions in NeXML #2142

  • Protonym verbatim_author parens should be properly closed when present #2453

  • Protonym verbatim_author can not contain digits (like years) #2452

  • Generic date field component #2451

  • New taxon determination component

  • Smart selectors in asserted distribution and biological association quick forms.


  • Cleaned up taxon name navigator appearance

  • Destroying a loanable object destroys corresponding LoanItems automatically #2319

  • NeXML image URLs use shortened URLs

  • Reorder date fields in comprehensive, extract and new collecting event tasks #2450

  • Set Vue 3 reactive vuex state in comprehensive store, removed unnecesary mutations and getters

  • Updated Ruby gems and Node packages

  • Bumped database_cleaner

  • Upgraded to ruby 6.1 #2474

  • Remove Taxon determination slice from OTU quick forms(Radial object)

  • Set active author tab in New taxon name #2461

  • Moved data-project-id to project name

  • Moved collection object soft validations in comprehensive task #2491

  • Remove reactivity in map component. Maps should render much faster now


  • Tazon name hierarchical navigation broken #2487

  • CollectionObject filter type material facet bug

  • Trim buttons in comprehensive task

  • Trip code fields are empty after save.

  • Confidence button

  • spring not working on MacOS. Now RGeo/Proj is warmed up at initialization time

  • Combination preview label in New combination task

  • Smart selector is not refreshing after save #2468

  • Group and formation fields in comprehensive task

  • Changed date label #2473

  • Warning message persists when date exists in User facet #2480

  • Collection Object TODO List Task does not append right identifier number #2486

  • Loan item checkboxes reset when loan items “Updated” #2492

  • Loan item “select/deselect all” buttons missing after vue 3 migration #2493

  • Checkbox unbinding is not synced with update in Loan task #2495

  • Filter collection objects shortcuts

  • Prevent duplicate shortcuts

  • Observation matrix render error

  • Fix identifier update in new type specimen task

  • Radial menus are inheriting CSS properties in some cases #2505

  • Taxon determinations list in comprehensive task

0.19.6 - 2021-08-20


  • New namespace task #1891

  • Taxon determination list lock button in comprehensive task #2088

  • Add elevation accuracy parsing for verbatim labels #2448


  • Date fields order in comprehensive task

  • Auto advance date fields in comprehensive task

  • Changed checkbox label sortable fields to reorder fields #2442

  • Modified behaviour of Source autocomplete and pattern for limiting results

  • Removed deprecated Travis CI files.


  • Source autocomplete exact ID was not prioritized and/or skipped

  • Keyboard shortcuts modal reopens when closing help #2436

  • Title attribute contains html tags on citations in browse OTU

  • Increment identifier in CO editor keeps number of leading zeros, changing length of number #2435

  • Collecting event lock in comprehensive task

  • Georeferences are not locked with collecting event #2449

  • Elevation not being parsed from labels properly #2447

0.19.5 - 2021-08-18


  • Content smart selector

  • Biological association list lock button in comprehensive task

  • Dynamic shortcuts for radial annotator and radial object. Shortcut is the first letter of the slice


  • Replaced panels with modals in Content editor task

  • Soft validation panel in new type specimen task

  • Replaced create predicate with link to project attributes customization page in custom attributes section #2426

  • Editing from Browse Collecting Event now redirects to Collecting Event task.


  • Create georeference from verbatim does not take uncertainty into account #2421

  • Cannot edit Georeference uncertainty in New collecting event task #2420

  • Georeference edit/delete button does not show up immediately on creation #2422

  • Unable to create a type specimen with an existing collection object

  • Catalog number is not updating after selecting another type specimen

  • Duplicate verbatim georeference on generate label in New collecting event and comprehensive tasks [#2427]

  • Biological association list persist after save and create a new collection object in comprehensive task

  • Comprehensive specimen task reset button adds false history entry in browser #2432

  • Whitespace chars in label preventing georefs to be properly parsed #2415

  • Rubocop broken settings

  • Extra semicolon in collecting event label when verbatim locality is blank

0.19.4 - 2021-08-13


  • Geographic areas not scoped in Georeferences pane until georeference added #2408

  • Georeference from previous collecting event shows up on new collecting event #2411

  • Fix biological associations in comprehensive form

  • Removed events for links in radial navigation #2412


  • Storage for PDF viewer

0.19.3 - 2021-08-10


  • Added soft-validation for loan if no docummentation

  • Added validation on 5 date fields in the loan, setting the priority of events.

  • Added search on alternative title in the Sorce autocomplete

  • Pdf icon in citation by source

  • Cancel function for http requests

  • Edit mode for contents in Quick forms #2385

  • Soft validation for collection object, type material, biological association, georeferences and taxon determinations in comprehensive task [#2396]

  • Pinned icon for images in radial annotator #1919


  • Biological association link_tag entities not metamorphosized #2392

  • Updated sorting for sources in autocomplete. Sources used in the same project are prioritized

  • Updated sorting for people in autocomplete. People used in the same project are prioritized

  • Autocomplete in Interactive key task

  • Copy and clone option in Matrix Row Coder

  • Edit biological associations form, broken HTML and fields incorrectly mapped #2370

  • Hidden pin and lock icons in asserted distribution quick form

  • biological_association_link helper

  • Confidence button

  • Dynamic rows/columns are not destroyable #2375

  • Asserted distribution edit view #2371

  • Missing citation and soft validation icons in New asserted distribution task

  • Typo preventing labels listings from working

  • Refresh summary in data view after use radial annotator

  • Collecting event soft validation in comprehensive task #2091

  • Missing param for BibTex #2397

  • Citation source not added to project if already in another project

  • Incorrect TypeMaterial type type validation for ICN #2378


  • Biological association links now link to subject, association (click middle) and object

  • Sort property, name to cached in Filter nomenclature #2372

  • Replaced property verbatim_author to cached_author_year for csv download #2373

  • Refactor notification code, replaced jQuery for js vanilla

  • Keyboard shortcuts code, replaced jQuery with vanilla JS

  • Pinboard code, replaced jQuery with vanilla JS

  • Annotations code, replaced jQuery with vanilla JS

  • Dropzone timeout #2384

  • Edit link redirect to new collecting event task #2387

  • Edit link redirect to comprehensive specimen digitization #2394

  • Add source to project when tagged #1436

  • Updated Ruby gems and Node packages

  • Updated ruby gems

0.19.2 - 2021-07-27


  • OriginRelationship display in Browse collection object #2362

  • Accession/Deaccession section in Collection object match task #2353

  • Similar objects section in MRC

  • Soft validation in Edit/new matrix task

  • Update download form [#2335]

  • Check and question icons


  • Upgraded from Ruby version 2.7.3 to 2.7.4

  • Updated ruby gems

  • Object validation component


  • Autocomplete in Interactive key task

  • Copy and clone option in Matrix Row Coder

  • Edit biological associations form #2370

0.19.2 - 2021-07-27


  • OriginRelationship display in Browse collection object #2362

  • Accession/Deaccession section in Collection object match task #2353

  • Similar objects section in MRC

  • Soft validation in Edit/new matrix task

  • Update download form [#2335]

  • Check and question icons


  • Upgraded from Ruby version 2.7.3 to 2.7.4

  • Updated ruby gems

  • Object validation component


  • Help plugin

  • Original relationships in Collection object quick form

  • CO Quick forms in comprehensive specimen digitization #2354

  • Biological associations in OTU quick forms

  • Update type species in new taxon name task

0.19.1 - 2021-07-15


  • Autogenerated description for OTU based on observation_matrix

  • Description section in Browse OTU

  • observation_matrix_id param in Browse OTU task

  • Description in Matrix row coder


  • Update per value from 5 to 500 in citations controller #2336

  • Updated ruby gems

  • Upgraded biodiversity gem to 5.3.1 (uses named params)


  • Show selected options for biological associations in comprehensive specimen digitization task #2332

  • Option to hide “Attributes”, “Buffered”, “Citations” and “Depictions” sections in comprehensive specimen digitization task #2333

  • Missing fields in comprehensive form

  • Fields not showing in “original combination and rank” section in New taxon name #2346

0.19.0 - 2021-07-08


  • Added new ICZN status: Invalid family group name due to synonymy of type genus replaced before 1961

  • Edit image matrix and view image matrix in observation matrices dashboard

  • WTK component in comprehensive digitization form #2245

  • Add invalid relationship checkbox on clone button in New taxon name task #2171

  • Download PDF button for documents in New source task #2102

  • Padial annotator for sources in New asserted distribution task #2105

  • Radial annotator for references in Browse Nomenclature/OTU tasks #2103

  • Depict person in New image task #2321

  • Move to person option for Depictions slice in Radial annotator

  • Sort by nomenclature in edit/new observation matrix task #1748

  • Added authors facet in Filter nomenclature task

  • Citations panel for Collection object section with lock option in comprehensive specimen digitization task [#2328]


  • Updated ruby gems

  • Migrate Vue 2.6 to Vue 3.1.4

  • geographic_area_ids to geographic_area_id in collection objects controller

  • Manage synonyms display only one level children in New taxon name #2213

  • Filter status and relationships according nomenclatural code in Filter nomenclature task #2157

  • User facet data range now allows to search for both criteria (updated_at, created_at) #2317


  • Updated author string for botanical names

  • Timeline rendering error in Browse OTU

  • Fix wildcard by attribute in Filter collection object

  • Confidences modal height in radial annotator #2304

  • Fix empty search in Filter collection objects

  • Clean documents list on reset in New source

  • Missing hexagon soft validation in comprehensive specimen digitization task

  • Match by collection object is and tag creation in Collection object match

  • Destroy container when all other objects in container are deleted #2322

  • Clicking on “Tag” in Filter collection objects does not add tag #2323

0.18.1 - 2021-06-09


  • Params for /api/v1/images/ #1906

  • Params referenced in /collection_objects to /collecting_events

  • /api/v1/taxon_name_classifications/ endpoint #2276

  • /api/v1/taxon_name_relationships/ endpoint #2277

  • TaxonName cached_is_valid boolean, takes into account Relationships and Classifications

  • Status to TaxonName autocomplete #2086

  • otu_filter param to interactive keys task

  • Radial annotator in New extract #2272


  • Fix for author string for unjustified emendation

  • Scope has_many related data to project properly #2265

  • Refresh event for smart selectors #2255

  • Edit type material in comprehensive form #2253

  • Reset selected ids on new search in observation matrices dashboard

  • Tiff images are not render on image viewer

  • Removed reachable byebug call

  • Protocol not displayed after select it #2279

  • image aspect ratio in Transcribe depiction trask #2273


  • Unify Task Collecting Event filter look/feel #2203

  • Params to /taxon_name_relationships, see #2277

  • CoL Data Package scoping updates

  • Removed incompatible identifier object type check for Identifier filter concerns

  • Unified some CollectingEvent filter param to singular pattern (collector_ids, otu_ids, geographic_area_ids)

  • Plural params for identifiers API endpoint merged to array single form. e.g., identifier_object_ids[]=47&identifier_object_ids=2232 => identifier_object_id[]=47&identifier_object_id=2232. #2195

  • Updated Ruby gems and node packages

  • that_is_valid scope now references cached_is_valid #2242

  • that_is_invalid scope now references cached_is_valid #2242

  • calculated_valid replaces that_is_valid #2242

  • calculated_invalid replaces that_is_invalid #2242

  • remove unused TaxonName#cached_higher_classification

0.18.0 - 2021-05-14


  • Added destroyed_redirect to object radial JSON

  • “Not specified” facet to Filter nomenclature #2226

  • New extract task interface #1934

  • citation experiment /api/v1/cite/count_valid_species?taxon_name=Pteromalus #2230

  • jsconfig.json for Visual Studio Code

  • Image matrix viewer in Image matrix

  • Image matrix button in observation dashboard task

  • Image matrix link in Interactive keys task

  • Export scss vars to javascript

  • Pagination count in Filter nomenclature

  • OTU depictions column on view mode in Image matrix task

  • Grid table component

  • SVG Icon component

  • OTU depictions draggable in image matrix

  • Observations depictions in Browse OTU

  • Ctrl/Alt + V shortcut for New Collecting event in Comprehensive task #2248

  • Zoom button in comprehensive form


  • CollectingEvent autocomplete/object_Tag only shows verbatim lat/long

  • Removed allow_destroy from object radial JSON

  • Made returning count from /controlled_vocabulary_terms optional # @jlpereira Potentially UI breaking check for use, and add &count=true to request if required

  • Removed quantification fields from Extract

  • Warning message on nuke action in Grid digitize task #2229

  • Upgraded from Ruby version 2.7.2 to 2.7.3

  • Upgraded to Node 14 LTS

  • Updated Ruby gems and Node packages

  • node-sass to dart-sass

  • Refactor image matrix edit table

  • Webpack configuration to export sass vars

  • Images size in image section on Browse otu


  • JSON for geographic area parents (no parent raise)

  • Hide soft validation section if is empty in New collecting events task

  • 404 error when deleting records from data interfaces #2223

  • Rank order on New combination preview

  • Redirect after destroy a combination #2169

  • Drag and drop depictions in Image Matrix

  • Georeference error message in comprehensive task #2222

  • Number of uses not displayed in Uniquify people task #2219

  • SVG Image box in comprehensive [#2262]

0.17.1 - 2021-04-30


  • Moved endpoints to own model file

  • Permit params on client side

  • OTU picker on new observation matrix #2209


  • Frame overlaps in interactive key task #2202

  • Parse coordinate characters on comprehensive and new collecting event tasks

  • Hide row/column panel on new observation matrix

  • Soft validation section is always visible #2211

  • Ambiguous column problem in query for previous/next collecting event navigation.

  • Merge people count #2218


  • Replaced 1KB minimum image file size restriction with dimensions check (16 pixels minimum each) #2201

  • Switch selector on new observation matrix

  • Increment pdf filesize to 512MB #2212

  • Updated gems and npm packages

0.17.0 - 2021-04-23


  • Adds SoftValidation component with fix buttons, and wrench (goto fix) links #207

  • Database index on Identifiers#cached

  • Tests for base #next/#previous #2163

  • create_backup_directory flag to create backup directory if it does not exist for taxonworks rake tasks requiring backup_directory.

  • Edit inline options on edit/new loan task #2184

  • Shortcut legend on new taxon name task

  • Help tip and placeholder for definition in Manage controlled vocabulary task #2196


  • Bad project_token to API should not raise

  • Descriptor::Qualitative destruction destroys rather than raises when character states unused.

  • Previous navigation #2163

  • Documenting source doesn't add source to project #2172

  • Added missing params biocuration_class_ids and biological_relationship_ids to collection_objects_controller filter params. [skip-ci]

  • incorrect author string for misspelled combination is fixed

  • Missing data migration for ObservationMatrixColumnItem::SingleDescriptor to ObservationMatrixColumnItem::Single:Descriptor

  • Show observation matrices count on radial object #2158

  • Overflow on New observation matrix #2168

  • Clear geographic area after reset #2174

  • PK sequence not set up properly on project export

  • Local identifiers' cached values not being updated when updating namespace #2175

  • Uncertainty sign not populating in label #2109

  • Pressing the reset button doesn't reset the by attribute facet in Filter collection object [#2180]

  • Fix routes in edit/new observation matrices task #2198


  • Refactor SoftValidations and params including specs #1972

  • Removed legacy non TaxonWorks agnostic import rake tasks (moving to their own repos)

  • Updated script predicting masculine, feminine and neuter species name forms

  • Changed how GeographicArea#find_by_lat_long is built (UNION, not OR)

  • Changed TaxonName string for superspecies names

  • Updated y18n node package to version 4.0.1 #2160

  • Replaced Canvas for SVG radial menu

  • Close radial object after select a matrix on observation matrices slice #2165

  • Radial menu slices position

0.16.6 - 2021-03-26


  • Community stats for /api/v1/stats #2061

  • Add by-project param for /api/v1/stats #2056


  • browse_otu_link handles nil #2155

0.16.5 - 2021-03-25


  • softvalidation fix for transfer of type species into coordinate subgenus

  • Link from Browse colleciton object to Browse OTU for current OTU det #2154

  • Collection object filter params for preparation and buffered fields #2118

  • Added soft_validations and fixes for coordinate name citations and roles.

  • /collection_objects/123/navigation.json route/view

  • Determination, OTU and repository smart selectors on New image task #2101

  • Georeferences coordinates in label generate on New collecting event #2107

  • Lock buttons on New image #2101

  • Open PDF slider in all tabs #2106

  • TaxonName autocomplete by internal id

  • bind alt/ctrl + f to focus the search autocomplete #2132

  • Annotations on Browse nomenclature

  • Collectors facet on Filter collection objects task

  • Preview use panel on Manage controlled vocabulary #2135


  • Renamed -otus_redirect to browse_otu_link

  • Updated Protonym.list_of_coordinate_names query. It helps for soft validation.

  • Nexus output file was modified to present full name of the of the taxon. TNT export was not changed.

  • Lock background color #2112

  • sortArray function now return a natural sort

  • Open confirmation modal and focus new button on New taxon name

  • Next and previous links for id and identifier on comprehensive task [#2134]

  • Determiner facet on Filter collection objects task

  • Updated gems (bundle update without altering Gemfile)


  • updated softvalidation for non binominal names

  • updated label for species-group rank TaxonName

  • Compute print column divisions with barcode style labels #1993

  • Object tag for TaxonNameRelationship inverted #2100

  • Collection object filter, collecting event related params were not being passed #1807

  • Collection object filter with/out facets, in part #1455

  • CoLDP missing values for names without original combinations #2146

  • Multiple parent OTUs via parent_otu_id raised in CoLDp export #2011

  • Not being able to get pinboard items on some circumstances

  • Request-URI Too Large loading georeferences on Browse OTU

  • Tab order near parent when name is pinned #2130

  • Spinner in distribution section on Browse OTU

  • Destroying a container goes to 404 page #2133

  • Missing Determiner param #2119

  • Refresh status and relationship list on rank change #2010

  • Remove map shapes after reset form on Filter collection objects

  • Disabled Create georeference from verbatim button when latitude and longitude are not available #2152

  • Fix create determinations and biocurations before turn off the spinner #1991

0.16.4 - 2021-03-09


  • Multiple presnece/absence params for collection objects filter #2080

  • Buffered field facets for collection object #1456, #1835

  • Filter collection objects by determiner (Person) #1835

  • Tag smart selector on create collection object in New collecting event task #2066

  • Year field on person source in new source task

  • Create new biocuration and in relationship links in filter collection object

  • Determiner in filter collection object

  • HEIC image format support

  • PDF drop box on new source task #2094

  • Confirmation modal to clone source #2099

  • Smart selector on attributions in Radial annotator #2081


  • Soft validation scope for AssertedDistributions not scoped to taxon #1971

  • Uniquifying 2 people attached to the same source raises #2078

  • Render Source::Human cached with year, udpate citation_tag #2067

  • Qualitative states in matrix row coder order correctly #2076

  • Better source cached filter wildcards #1557

  • Observation matrices hub link #2071

  • Refresh button component #2085

  • Update comprehensive url #2096

  • /units.json called 2x #2089

  • Edit error radius of a georeference in new collecting event task #2087

  • Previous and next navigate navigation links #2039


  • Now using ImageMagick 7 instead of 6

  • Production and development docker images are now based off a single base image

  • Development docker environment uses rvm instead of rbenv (matching version manager that has been used for production)

  • Updated npm packages

0.16.3 - 2021-02-26


  • Additional date recognition format in date RegEx

  • Pagination on Browse Annotations #1438

  • New combination for subgenus #748

  • Warn about unsaved changes on Accession metadata #1858


  • eventDate/eventTime output format not being ISO8601-compliant #1939

  • Some value label in Filter sources

  • Dropzone error message

  • Redirect to Image Matrix on OTU Radial #2033

  • Race condition problem when generating dwc_occurrences indexing


  • Pagination in Filter sources

  • Replaced geckodriver-helper with webdrivers gem

  • Improvement sort table on collection object, source and nomenclature filters

0.16.2 - 2021-02-18


  • Additional date recognition format in date RegEx

  • Fields with/out some value facet for Source filter #2023

  • Keyword params to TaxonName API

  • Adds database index to Sour title, year, author

  • Keyword and/or logic in Tag facets (throughout) #2026, #2032

  • /ap1/v1/stats endpoint #1871

  • papertrail.json?object_global_id=

  • Quick label on collection object quick form #2003

  • Lock biological relationship in radial object [#2036]

  • Confirmation popup to delete a type material in comprehensive

  • Tag facet to filter nomenclature #2047


  • Checkmark on verbatim should visible only

  • Updated gems (bundle update without altering Gemfile)

  • Updated node packages (npm update without altering packages.json)

  • Changed verbatim author for cached_author_year in filter nomenclature

  • Keywords styled after choice in Tag facet

  • Keywords removed from all list after choice in Tag facet


  • Model LoanItem - Tagged batch adds tag, not object #2051

  • Prevent non-loanable things being loaned #2043

  • ancestors param properly permitted TaxonName api/filter

  • TaxonName#name allowed spaces #2009

  • Fix help tip of pinboard navigator shortcut

  • Generate label button #2002

  • Save collectors in new collecting event task #2016

  • Fix image viewer on filter image task

  • Image caption modal size #2030

  • Set created loan object #2042

  • Refactor edit load items #2044

0.16.1 - 2021-01-26


  • Missing depiction_object_type on New image task #1995

  • Sort case-insensitive #1985

0.16.0 - 2021-01-25


  • New collecting event task #1530

  • “Quick” collection objects options from new collecting event task

  • New WKT georeference inputs

  • Auto-georeference and date Collecting Events by depicting images with pertinent EXIF data

  • Route linting specs

  • Generate label (alpha), pastes values into print label input

  • Collecting event navigation options (next/previous with/out <many things>

  • Nested_attributes for Labels

  • Collection object/and collecting event navigation options/bridges

  • /collecting_events/preview?<filter_params> a preview look for brief tables

  • Subclasses for labels:Label::QrCode, Label::Code128

  • Include rqrcode, barby for barcode rendering

  • Add label attribute to Label JSON response that renders QR code

  • Add accommodation for printing pages of barcode-based labels

  • Add Georeference::Wkt an anonymous WKT based georeference assertion

  • Add option to disable name-casing when Person is created from /people/new #1967

  • Full CASTOR (taxon names batch load) example template, CASTOR preview notices

  • New ICZN class added: NoDiagnosisAfter1930AndRejectedBefore2000 for family-group names

  • Add image attributions, original citation and editor options in image viewer #1978

  • Browse current OTU button in Browse OTU


  • Moved buttons in collecting event on comprehensive task #1986

  • Improved collecting event status in smart selector on comprehensive digitization

  • Some tasks route names were “malformed” and renamed

  • ENV variableTAXONWORKS_TEST_LINTING=true must now be true, not anything, to trigger linting specs

  • Setting Identifier#cached uses a build getter to enable Label building

  • Georeference validation requires CollectingEvent (enabled by proper use of :inverse_of)

  • Tweak to how pinned? is calculated trying to eliminate database calls

  • Minor cleanup of batch preview layouts

  • Changed softvalidation message for names being on Official ICZN lists

  • Fetch codecov, seedback and closure_tree gems from RubyGems.

  • Updated gems (bundle update without altering Gemfile).

  • Remove no_leaves= true from taxon name on filter images task #1953

  • Turn off autocomplete feature on vue autocomplete #1956

  • Limited CoLDP exports runtime to 1 hour and 2 attemps.

  • Turn off autocomplete on new taxon name task

  • Replaced display name attribute for object_label in parent autocomplete on New taxon name task

  • Filter task by name only [#1962]

  • Search geographic area by verbatim coordinates on new collecting event

  • Show coordinates from verbatim georeference

  • Parsed verbatim label to fields

  • Parsed EXIF coordinates to verbatim fields

  • Changed autocomplete label #1988

  • Using newer biodiversity gem from official source

  • Updated gems (bundle update without altering Gemfile)


  • CoLDP [sic], errant chresonym, and basionym ids for misspellings

  • Loan items reference proper housekeeping in table

  • Line links of batch-preview results

  • broken API download link for exported references #1908

  • removed BASIS task stub #1716

  • /api/v1/notes project scoping #1958

  • is_community? reporting false for some models without project_id

  • New source after cloning not display changes on authors / editors lists

  • Edit taxon name firing multiple updates when updating gender #1970

  • Correct image size on image viewer

  • Save pages before clone person on new taxon name #1977

  • Correct count display of attributions #1979

  • Uncheck collecting event option #1980

  • Trip Code/Identifier not visible in header of Edit collecting event #1990

0.15.1 - 2020-12-14


  • Person can not be active for > 119 years

  • Show buffered values in Task - Browse collection objects #1931

  • Default pin button on Uniquify people task

  • Checkbox to Select/unselect all match people on Uniquify people task #1921

  • Pixels to centimeter on new image task


  • Clean timeline display in Task - Browse collection objects

  • db:seed displays password for created users and adds admin to Default project #1913

  • Start date needs to be set before set end date on Housekeeping facet

  • Bump node package ini from 1.3.5 to 1.3.7


  • CVT smart selectors/pinboard scope broken #1940

  • Image filter ancestor_id was to be taxon_name_id or taxon_name_id[] #1916

  • Bad Image select_option sort #1930

  • Housekeeping filter params now less restrictive #1920 PENDING UI TEST

  • ShallowPolymorphic called in .json form #1928

  • Documentation of param names, examples, for the “CASTOR” taxon name batch load #1926

  • tw:db:load task not handling settings reliably. #1914

  • Set pulse attribute true on radial annotator for object with annotations on data views and Browse nomenclature task

  • Invalid attribute :note in Note API result view.

  • Malformed PDF exception handling in Document model.

  • Clipboard copy shortcut

  • Source hub link on Citations by source task

  • Clean content editor after change a topic

0.15.0 - 2020-11-30


  • Export project database task #1868

  • Additional collecting methods recognized from the collecting event label

  • Added content filter, API endpoints #1905

  • New greatly simplified controller concern ShallowPolymorphic for handling link b/w shallow routes and filters

  • Note filter improvements, specs, new params, API exposure [#XXX]

  • person#sources has_many (very slight potential for issues)

  • Multiple new people filter params, see lib/queries/person/filter.rb #1859

  • People can be Tagged

  • Added image filter #1454

  • Added image smart selector #1832

  • Added pixels_to_centimeter to images #1785

  • PENDING TEST - API - sort (with classification, alphabetical options) to /taxon_names #1865

  • Taxon determination, citations and collecting event information in specimen record on browse OTU

  • Serial facet on filter sources

  • Pulse animation for radial annotator #1822

  • OTU column in asserted distribution on Browse OTU #1846

  • Radial annotator on Uniquify people task

  • History title on Browse nomenclature

  • otu_ids param on Image matrix task

  • Open image matrix button on Interactive keys task

  • Citations on image response

  • View mode on image matrix

  • Lock view option for smart selector

  • Sortable option to lock column/rows on edit/new observation matrix task #1895

  • Media Descriptor support on Matrix Row Coder #1896

  • Free Text Descriptor support on Matrix Row Coder #1896

  • Search source on New source task #1899

  • Link to Browse OTU on New asserted distribution task #1893

  • Link to Browse OTU on comprehensive specimen digitization #1889


  • Potential issue (may be others) with CoLDP raising in the midst of large exports

  • People filter role + name #1662

  • Fix family synonym validation [#1892]

  • Fix matrix view row order #1881

  • CVT view helper bug with predicates

  • Fixed database seeding bugs.

  • Fixed display problem of OTUs without taxon name on Browse OTU

  • Edit asserted distribution on quick forms

  • Reference overflow on Browse nomenclature

  • Date requested filled automatically #1872

  • Remove collecting event on comprehensive specimen digitization #1878

  • Loan smart selector DB query.

  • Label overlap on menu on observation matrices view #1894

  • Remove repository on comprehensive specimen digitization #1897


  • change the order of TaxonName softvalidation to bring the duplicate message on the top

  • tweaked CoLDP reified id concept and use

  • removed most_recent_upates from Content params

  • removed /contents/filter.json endpoint, use /contents.json

  • Deprecating Concerns::Polymorphic for ShallowPolymorphic, in progress, see Notes controller

  • Note filter params query_string => text, note_object_types[] => note_object_type[], note_object_ids[] => note_object_id[], added corresponding non-array versions

  • Moved levenshtein_distance to Query for general use

  • Remove people/123/similar endpoint (used /index)

  • Person filter person_wildcards is person_wildcard

  • Person filter behaviour vs. levenshtein_cuttof

  • cached_valid_taxon_name_id updated for combination after valid status is assigned.

  • updated soft validation for 'Uncertain placement'

  • [sic] changed to (sic) for misspelled bacterial names

  • Additional date and geographical coordinate formats added to the Verbatim label RegEx parsers

  • Observation matrix could be resolved without observation_matrix_id, only with otu_filter

  • Running rake db:seed without user_id/project_id is now possible.

  • Disabled hamburger menu when no functionality behind it on Browse OTU #1737

  • No longer needed set user on User facet in filters

  • Autocomplete label for original combination on New taxon name task

  • Changed “n/a” to combination label on Browse nomenclature

  • Create original citation in image matrix task

  • Autocomplete list style

  • Edit button color on type material species task #1898

  • GitHub Actions used as main CI/CD provider

  • Updated vulnerable node packages #1912

0.14.1 - 2020-10-22


  • API - type to /roles/:id

  • API - year to /taxon_names

  • API - include_roles param to /people

  • API - taxon_name_author_ids[]=, taxon_name_author_ids_or params to /taxon_names

  • API - collector_ids[]=, collector_ids_or params to /collecting_events

  • Shape on asserted distribution list #1828

  • Row filter on Interactive keys task

  • Interactive keys and image matrix buttons on observation matrix dashboard


  • Wrong param attribute in topic smart selector on radial annotator #1829

  • Show repository on Browse OTU

  • Enable search after fill collecting event fields #1833

  • Missing geo_json param on geographic_area request #1840


  • Exclude Roles from response from /api/v1/people by default

  • Increased max_per_page to 10000

  • Random words clashes mitigation: Project factory names made longer and Faker unique generator is reset only between specs instead of before each test.

  • Removed pages field on topic section

  • Improved verbatim date parsing

  • Georeference scope over geographic area scope #1841

0.14.0 - 2020-10-16


  • Added additional date recognition format for RegEx

  • Added OTU filter in the interactive key API

  • Collecting Event API endpoints

  • Collection Object API endpoints

  • Biological Assertion API endpoints

  • Asserted Distribution API endpoints

  • New Otu API params

  • People filter API endpoints #1509

  • Identifier filter API endpoints #1510

  • Source filter API endpoints #1511

  • New Interactive Key task #1810

  • New model for matrix based interactive keys which produce JSON for the Interactive Key task #1810

  • weight field to descriptor

  • Ancestors facet on filter nomenclature #1791

  • TW_DISABLE_DB_BACKUP_AT_DEPLOY_TIME env var to disable built-in backup functionality at deploy/database-update time.

  • Display coordinate type specimens #1811

  • Changed background color header for invalid names on Browse OTU

  • Taxonworks version in header bar when not running in sandbox mode


  • Fixed radial navigator broken for some data #1824

  • Fixed IsData position #1805

  • Collecting event object radial metadata settings

  • Webpack resolved_paths deprecation warning

  • Missing /otus/:otu_id/taxon_determinations route

  • tw:db:restore task not picking up database host settings

  • Create citation on new combination without pages

  • Param descriptor id on new descriptor task #1798

  • Filter by user on filter nomenclature #1780

  • Optimized selector queries for Loan model


  • Fix original author string for Plant names

  • Additional date format added for date recognition RegEx

  • Removed some attributes from api/v1 endpoints to simplify responses

  • type_materials/:id.json includes original_combination string

  • CoLDP references are full cached values, not partially passed

  • Combination nomenclatural code inference drawn from members, not parent

  • Some nomenclature rank related simbols moved to constants

  • Load Images for coordinate OTUs #1787

  • Extended New Image task upload timeout from 30 seconds to 10 minutes

  • Updated rgeo-proj4 gem

0.13.0 - 2020-09-22


  • Removed forced dependency on google-protobuf gem

  • Updated gems

  • Browse OTU page unifies coordinate OTUs for Asserted Distribution and Biological Associations #1570

  • Handling for new unicode minutes, seconds symbols #1526

  • Descriptor object radial paths

  • Many specs related to dynamic observation matrix items

  • Improvements to Descriptor autocomplete labels #1727

  • Added rake tw:maintenance:otus:missplaced_references #1439

  • Pdf viewer button on Documentation and Source views #1693

  • Spinner for when converting verbatim to bibtex #1710

  • Set OTU in determination when otu_id param is present on comprehensive task

  • “Create georeference from verbatim” button in Parsed column on comprehensive task

  • Sortable order for Type material, Biological association and Determinations on comprehensive task

  • User facet on Filter nomenclature task #1720

  • Pagination on Filter noemnclature task #1724

  • Biological associations filter on Browse OTU


  • AssertedDistribution filter otu_id and geographic_area_id can now also take array form, e.g. otu_id[]=

  • Preload all CSL styles via fixed constant, increasing boot speed #1749

  • Return value format for Utilities::Geo.distance_in_meters changed from [Float] to [String]

  • Data migration updating all type column values for matrix row/column items

  • Tweaked JSON attribute response for matrix rows and columns very slightly

  • Updated observation item types to properly nest them, inc. all downstream changes (Factories, etc.)

  • Unfied matrix hooks in various places

  • Updated some matrix related routes to point to tasks

  • Updated respec matrix tag to observation_matrix

  • Methods that write to cached should not fire callbacks, potential for #1701

  • Using custom geckodriver-helper for Firefox 80 support

  • Override browser shortcuts on task hotkeys #1738

  • Biological associations section on Browse OTU

  • TW now supports Postgres 12 #1305

  • Replaced biodiversity with custom gem repo using IPC with gnparser processes

  • Updated gems

  • Character “΄” also accepted as minute specifier in coordinates parsing.


  • Fixed LOW_PROBABILITY constant message

  • Matrix rows/items prevent OTU (and collection object) from being destroyed #1159

  • Scope of dynamic taxon name row item #1747

  • Processing of values (in distance_in_meters) to limit significant digits of results of unit conversions. Decimal degrees not affected at this time. #1512

  • Character state order not correct in Nexus format #1574

  • Not able to destroy matrix rows or matrices #1520, #1123

  • Dynamic observeratoin matrix items not properly scoped/behaving #1125

  • Destroy pdf pages before create new ones #1680

  • Serial multiple updates did not update bibtex author field #1709

  • Fix (likely) for pinboard items failing to remove #1690

  • Better response for failed collecting event cloning #1705

  • Cleaned up deprecated biological associations graph autcomplete #1707

  • Colliding namespace method for identifiers breaks identifiers list #1702

  • Graceful failed serial destroy response #1703

  • Restored Show -> edit link #1699

  • Enable search button after pick a collecting event date on Filter collection objects task [#1728]

  • Misppeling collecting_event_ids parameter [#1729]

  • Non-original combination authorship lacking parentheses #1686

0.12.17 - 2020-02-02


  • Successfull source destroy message

  • Pending - Definition field to BiologicalRelationship model and views #1672

  • New button to (attempt to) convert verbatim sources to Bibtex via Crossref

  • Model methods and attribute to change Source Verbatim to Bibtex #1673

  • DOMPurify package to sanitize html

  • List all Keyword and Topics in smart selector on filter source #1675

  • Added data links tool in markdown editor (Ctrl/Alt-Shift-L) #1674

  • Definition field on composer biological relationship task #1672


  • Unified can_destroy/edit methods

  • Improved Source autocomplete with metadata/markup #1681

  • Changed CoLDP download to use Catalog::Nomenclature as name source

  • Replace SimpleMDE for EasyMDE

  • Sort alphabetically bibliography style list on filter source

  • Removed limit of download bibtex on filter source #1683

  • Disable/enable destroy button from metadata on radial navigator #1696


  • Non admins not able to destroy shared data #1098

  • Pending confirmation: Include original combinations in CoLDP #1204

  • Pending confirmation: Include forma/variety properly in CoLDP #1203

  • Docker: Fixed path typo on clean up command

  • Tag button on filter source #1692

  • Overflow in taxon names list in new taxon name #1688

  • Confidence button overlapped in new combination #1687

0.12.16 - 2020-08-24


  • Highlight metadata that is not in this project in uniquify people task #1648

  • Locks buttons on grid digitizer task #1599

  • Option to export styled bibliography on filter sources task #1652

  • Edit button in content section on radial object #1670


  • Drag button style on new taxon name #1669

  • Removed SimpleMDE lib from ruby assets and added to npm dependencies

  • Allow taxon name type relationships to be cited #1667


  • BibTex html no longer escaped #1657

  • Some of the elements of the form are not accessible on overflow. #1661

  • Populate masculine, feminine and neuter on gender form #1665

  • Markdown render on Browse OTU #1671

0.12.15 - 2020-08-18


  • Sqed hook initiated with String, not Class #1654

0.12.14 - 2020-08-17


  • Help tips in comprehensive specimen digitization task

  • Help tips in new source task

  • Type section in Browse OTUs task #1615

  • Automatically filter sections by taxon rank in Browse OTUs task

  • Rank string in browse nomenclature

  • Pinboard navigator (Ctrl/Alt + G) #1647

  • Filter by repository in filter collection objects #1650

  • Hotkey for add element to pinboard (Ctrl/Alt + P)


  • Collectors order in comprehensive specimen digitization

  • Losses data of etymology form after set a gender

  • Autocomplete component not encoding query params properly

  • Random RGeo deserialization errors #1553


  • New combination redirect to the valid name #1639

  • Rename comprehensive specimen digitization task card

  • Updated chartkick gem #1646

  • Improved verbatim date and geographic coordinates recognition

  • Improved soft validation messages for coordinated species-group

0.12.13 - 2020-08-04


  • Delete confirmation for original combinations #1618

  • Delete confirmation for type specimens in new type specimen task

  • Check if already exist an asserted combination with the same otu and geographic area in new asserted distribution task #1329

  • Modal on duplicate original citations in radial annotator #1576

  • Soft validations component for citations in radial annotator and tasks #1552

  • Redirect to valid name in browse nomenclature #446

  • sessionStorage for browse nomenclature autocomplete #446

  • Observation matrices in radial object #1527

  • Comprehensive task to taxon name radial #934

  • Map on OTU radial in asserted distribution form #856

  • Pin objects from list in filter sources

  • Checkbox to make document public on list in radial annotator

  • Title legend for “make default” icon in pinboard slide

  • Checkbox to alternative between AND/OR filter for authors in filter sources

  • Lep staged 2 layout for staged images #1635


  • Use amazing_print instead of awesome_print gem

  • Cleanup and add spec basis for nomenclature tabular stats queries

  • Improve/unify image modal #1617

  • Replace repository and source autocompletes for smart selectors in new type material task

  • Changed autosave behaviour in new asserted distribution task

  • Gender list order in new taxon name task

  • Page range soft validation message made less strict

  • Original citation-related UI text

  • Moved taxon name input search to right column in new taxon name

  • Persons autosave in new taxon name

  • Updated elliptic node package. #1632


  • Flip object to subject label on type section in new taxon name task

  • Shapes are possible to drag even if this option is not set up

  • Columns size of georeference table #1622

  • Webpacker host and port bind on docker container

  • Wrong taxon name relationship soft validation message for genera

  • Modal confirmation its not displaying in manage synonyms section #1627

  • Manage synonyms includes combinations #1628

  • Recent and per params in source filter and controller

  • Missing ZIP dependency for docker images

  • Attempting to return geographic areas in OTU smart selector on certain conditions

0.12.12 - 2020-07-22


  • Seeing OTUs in Recent that do not belong to project #1626

0.12.11 - 2020-07-14


  • Type material designations are now grouped by collection object in Browse OTUs (refs #1614)


  • Protonym parent priority soft validation #1613

  • Type specimens count in Browse OTUs task

  • Attempting to update containers as if them were collection objects in Grid Digitizer task #1601

0.12.10 - 2020-07-07


  • Smart selection source on new combination and citations annotator

  • Parsed verbatim label on comprehensive specimen digitization task

  • Soft validation in timeline on Browse OTUs #1593

  • Topic facet in Filter Sources task #1589

  • Counts on type specimen and specimen records sections on Browse OTUs

  • Collecting method parsing in verbatim label text


  • Replaced vue-resource package by axios

  • Disabled parallel upload on new image task #1596

  • Default verbatim fields order on comprehensive specimen digitization

  • Set radius error in verbatim georeference #1602

  • Timeline filter.

  • Missing High classification ranks on classfication autocomplete on new taxon name #1595

  • Date and geo-coordinates parsing improvements

  • Also update cached taxon name fields when Adjective or Participle is selected

  • Repositories and Serials smart selectors' recent entries optimizations


  • Filter collecting events was passing a wrong (changed name) parameters and structure for maps and geographic area

  • Not showing up people list after a crossref source #1597

  • Scroller in georeferences map modal

  • Grid Digitizer task failing to update containerized specimens matched by identifiers #1601

  • Specimen not associate with genus after create it in type section on new taxon name #1604

  • Volume field only accepted numbers #1606

  • Smart selectors not remove the previous selection after press new on New source task #1605

  • Georeference methods latitude returning longitude and longitude latitude

  • Smart selector overrides custom list after lists are loaded #1608

  • Duplicate shortcut, using the same one for comprehensive specimen digitization and clipboard #1612

  • Typo in taxon name relationship soft validation message.

0.12.9 - 2020-07-01


  • Endpoint for verbatim label parsing (dates and geographic coordinates)


  • Display [sic] on misspellings of family-group full taxon names


  • Containerized objects not showing up together #1590

  • Citations by Source task not loading taxon names list #1591

0.12.8 - 2020-06-29


  • Set autofocus on source and geographic area in OTU radial asserted distribution form

  • /otus/123/coordinate.json endpoint - all OTUs coordinate with this one (refs #1585)

  • Autosave on new asserted distribution task


  • Unauthorized json response

  • Better error handle for vue-autocomplete

  • Replaced old method to handle ajax call in all tasks

  • Updated relationships filter param on new taxon name task (refs #1584)

  • ControlledVocabularyTerm model no longer requires SKOS with URI (refs #1562, #1561)

  • Improved sorting of objects in the Browse Nomenclatue task

  • Updated dwc-archive gem to version 1.1.1


  • Topic select_optimized controller method crash

  • Recent list of biological associations not working due to the use of incorrect table

0.12.7 - 2020-06-26


  • Taxon name status and relationships soft validations display in Browse Nomenclature task

  • Interface to select OTUs and create rows in Observation Matrices Dashboard task

  • Autosave system in New Taxon Name task (refs #649)

  • Etymology filter in Nomenclature Filter task (refs #1549)

  • Added new shortcuts for Comprehensive Digitization, New Type Specimen, New Taxon Name and Browse Nomenclature tasks

  • Classification section in New Taxon Name task

  • Spec to test md5 of multi-line verbatim labels (refs #1572)

  • Display classifications alongside relationships in Browse Nomenclature task

  • Add children and add sibling buttons in New Taxon Name task (refs #1503)

  • Link to create new serial on smart selector of New Source tast

  • Semantic section coloration in Browse OTU task (refs #1571)

  • Rank prediction in New Taxon Name task (refs #1054)


  • Optimized recently used geographic area and sources search

  • Improved part of speech and etymology soft validation messages

  • Year suffix and pages are now also used when sorting citations in Browse Nomenclature task

  • Replaced old geographic area smart selector with newer version

  • Swapped 'Masculine' and 'Femenine' positions in New Taxon Name task (refs #660)

  • Replaced uses of find_each with each (refs #1548)

  • Refactored New Taxon Name front end code

  • Display text of some taxon name relationships

  • Autocomplete visible in all tabs of smart selector

  • OTU autocomplete searches now also matches by common names (refs #869)

  • Browse Taxa task renamed to Browse OTU

  • Using unreleased closure_tree code from official repo to address deprecation warning messages

  • “valid by default” no longer displayed when a relationship exists in New Taxon Name task (refs #1525)

  • Improvements in BibTex and New Source task UI

  • Improvements in role picker and smart selectors in Comprehensive Collection Object Form and New Source tasks

  • Optimized some filters for some smart selectors (refs #1534)

  • Smart selector for sources no longer ordered by name

  • Some minor UI tweaks in some places

  • Updated ruby gems


  • Recently used objects code on some models

  • Collection Object Filter task not filternig by type material type (#1551)

  • Forms not being cleared when pressing new on Compose Biological Relationships task (#1563)

  • Not getting the full list of topics when clicking all in Radial annotator -> Citation -> Topic (#1566)

  • Showing name instead of the short name in Radial Annotator -> Identifiers -> Preview (#1567)

  • create button keeps disabled when creating a new citation fails in Radial annotator -> Citation (#1568)

  • Incorrect method call in Match Georeference task view

  • Display of misspellings on taxon name relationships

  • Femenine and neuter names ending in '-or' not being accepted (#1575)

  • Spinner not disabled when entering malformed URIs in Manage Controlled Vocabulary task form (#1561)

  • “–None–” results obscuring buttons until clicking off the record (#1558)

0.12.6 - 2020-06-12



  • Matrix observation filters

  • Full backtrace in exception notification

  • count and several other basic default units to Descriptors #1501

  • Basic Observation::Continuous operators

  • Linked new Descriptor form to Task - New descriptor


  • Updated node packages and changed webpacker configuration

  • Progress on fix for #1420: CoLDP - Name element columns only getting populated for not valid names

  • Made TaxonNameClassification scopes more specific to allow citation ordering (refs #1040)


  • Minor fix in observation matrix dashboard

  • Potential fix for PG::TRDeadlockDetected when updating taxon name-related data

0.12.5 - 2020-06-08


  • Default unit selector for sample character in New Descriptor task (#1533)

  • 'None' option for unit selector in Matrix Row Encoder task

  • New Descriptor units


  • Updated websocket-extensions node package

  • Optimized smart selector refresh

  • Improved removal error message when source is still in use by some project


  • Language selector backend bug

  • Sort by page on Citations by Source task (#1536)

  • Removed duplicate destroy on project sources controller

0.12.4 - 2020-06-05


  • Pagination on New Observation Matrix task

  • Hyperlink to Observation Matrices Dashboard task on New Observation Matrix task (#1532)

  • New deletion warning messages on New Observation Matrix task


  • Renamed New Matrix task to New Observation Matrix

  • Citations are now saved without locking on New Taxon Name task

  • Updated gems (bundle update without altering Gemfile)

  • Several optimizations on recently used objects retrieval for smart selectors


  • Loosing input page numbers when switching tabs on New Taxon Name task

The following versions predate this CHANGELOG. You may check the comparison reports generated by GitHub by clicking the versions below

| <!– –> | <!– –> | | ———- | ———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————– | | 0.12.x | 0.12.3 0.12.2 0.12.1 0.12.0 | | 0.11.x | 0.11.0 | | 0.10.x | 0.10.9 0.10.8 0.10.7 0.10.6 0.10.5 0.10.4 0.10.3 0.10.2 0.10.1 0.10.0 | | 0.9.x | 0.9.8 0.9.7 0.9.6 0.9.5 0.9.4 0.9.3 0.9.2 0.9.1 0.9.0 | | 0.8.x | 0.8.9 0.8.8 0.8.7 0.8.6 0.8.5 0.8.4 0.8.3 0.8.2 0.8.1 0.8.0 | | 0.7.x | 0.7.4 0.7.3 0.7.2 0.7.1 0.7.0 | | 0.6.x | 0.6.1 0.6.0 | | 0.5.x | 0.5.4 0.5.3 0.5.2 0.5.1 0.5.0 | | 0.4.x | 0.4.5 0.4.4 0.4.3 0.4.2 0.4.1 0.4.0 | | 0.3.x (*) | 0.3.16 0.3.15 0.3.14 0.3.13 0.3.12 0.3.11 0.3.9 0.3.7 0.3.6 0.3.4 0.3.3 0.3.2 0.3.1 0.3.0 | | 0.2.x (*) | 0.2.29 0.2.28 0.2.27 0.2.26 0.2.25 0.2.24 0.2.23 0.2.22 0.2.21 0.2.20 0.2.19 0.2.18 0.2.17 0.2.15 0.2.11 0.2.10 0.2.9 0.2.8 0.2.6 0.2.5 0.2.4 0.2.3 0.2.2 0.2.1 0.2.0 | | 0.1.x | Unreleased | | 0.0.x | 0.0.10 0.0.9 0.0.8 0.0.6 0.0.5 0.0.4 0.0.3 0.0.2 0.0.1(**) (2017-06-01) |

(*) Missing versions have not been released.

(**) Report cannot be provided as this is the first release.