Repository navigation
Releases: xronos-ch/xronos.rails
Release list
v1.3.0
This is a minor release.
Breaking changes
- Maps now require a CARTO API key (#524)
- Environment variable
ADMIN_USER_PASSWORDis now required when seeding a
new database
New features
- Migrations required: exact duplicate scientific records are now detected
and automatically merged. Rejects creation of duplicates (#310), warns when
an update will cause a merge (#311), and can merge across unnamed but
identical samples (#516). (#309, #515) - Migrations required: scientific records can now be superseded:
soft-deleted and replaced by another record, retaining their permalink (#496). - Migrations required: added
nameattribute to samples (#371) - Migrations required: added OpenContext, Pleiades, Vici.org, and
iDAI.gazetteer as linked record sources for sites and c14s (#487). Renamed
LODLinks to LinkedResources (#372). Public views/controllers decoupled from
Wikidata specifically. Added site description section populated via Wikidata;
linked-data panel no longer fetches supplementary data on every page load (#479). - Migrations required: added admin CLI for importing tabular datasets from
CSV and BibTeX, replacing the removed GUI import_tables feature (#341) - Migrations required: added generic representation of controlled
vocabularies with variant thesauri (#444), including controlled term attribute
part_of_organismon samples (#253) - Migrations required: peripheral associated records are now snapshotted on
Site versions via ActiveSnapshot (#502), including new snapshots and
snapshot_items tables. Site version history now shows a unified diff of both
Site changes and peripheral record changes. SiteNames and LinkedResources now
generate contextual revision comments when added, changed, or removed. - Migrations required: added affiliations to user profiles
- Editing taxons now uses the GBIF search API for suggestions (#250), with
asynchronous requests that don't block page rendering (#417). - Added MIaaRD-shaped JSON export for radiocarbon determinations, including
single-record downloads for C14 records and filter-aware collection export
from the public data browser. Uses the current MIaaRDRadiocarbonDate
field structure. - Added second column to article show views with extended author metadata on
news articles, table of contents on about pages, and suggested citations (#117). - Added Atom and RSS feeds of news articles (#395).
Bug fixes
- Fixed synchronisation of taxons with GBIF by replacing the deprecated V1
species match API (#417).
Other changes
- Migration required: removed the unused MeasurementStates.
- Optimised JavaScript asset pipeline (#217)
- Made software version visible in page footer and added Zenodo archive link (#436)
- Removed standalone Typo show view. Typological dates are now only shown
embedded in Site views (#398) - Improved test coverage
v1.2.2
This is a security hotfix release based on v1.2.1.
Changes:
- Tightened controller authorization for selected mutating actions.
- Added focused regression coverage for the adjusted access rules.
v1.2.1
v1.2.0
This is a minor release focused mainly on improving performance to mitigate against the large volume of traffic we are receiving from bots and crawlers (#411).
It also includes a new "functional classifications" entity and related APIs. This is a new approach to categorising the type of occupation(s) at a site.
New features & API changes:
- Added unique and "one blank per site" constraints on context names (#432)
- Added functional classifications of contexts (#407)
- Added curation workflow for functional classifications of contexts
- Added issue view for contexts missing functional classifications
- Added functional classification suggestions based on site type labels
- Added JSON builder for functional classification data
- New admin dashboard for monitoring asynchronous jobs (/admin/jobs)
- Improved workflows for record deletion
- Unused references, taxons, and materials are now automatically deleted
- Added rake tasks to cleanup unused
- Ensured dependent records are properly cleaned up after site deletion
- Added rake task for safe cascading destruction
- Prevented duplicate citations from being created
- Migration may fail if there are existing duplicates in the database. If so:
DRY_RUN=1 bin/rails xronos:citations:deduplicate
checks for existing duplicates that would block this migration. And:
bin/rails xronos:citations:deduplicate
deletes them.
- Migration may fail if there are existing duplicates in the database. If so:
- Unused references, taxons, and materials are now automatically deleted
- Added bundled acknowledgements page rendered from version-controlled Markdown (#359).
- Added article-specific page titles and meta descriptions for news, about, and documentation articles.
Bug fixes:
- Sign-in cookie is now deleted on sign out (#379)
- Fixed Leaflet marker initialisation on site pages with quotation marks or apostrophes in site names.
- Fixed data browser map display for records with missing coordinates.
- Added countish pagination for large public listings to reduce expensive repeated count queries.
- Fixed potential code injection vulnerability in issues (#407)
Maintenance & documentation:
- Standardised the test suite on Minitest and migrated existing RSpec coverage (#422).
- Documented expectations for responsible API and automated data access (#405).
- Updated footer logos to reflect current affiliations, funding, and previous support (#404).
- Upgraded Rails from 7.2.3 to 8.0.5 and enabled Rails 8.0 framework defaults.
- Upgraded Pagy from 6.5.0 to 43.5.5 and migrated pagination helpers to the Pagy 43 API.
- XRONOS rake tasks are now prepended with xronos and can be listed with
bin/rails -T xronos
v1.1.2
This is a patch release aimed at addressing recent performance issues caused by excessive bot crawling.
- Removed pagination and sorting from public CSV exports
- Hardened CSV exports against costly crawler/bot requests
- Added request throttling with
rack-attack - Added Cloudflare-aware client IP handling for rate limiting
- Improved handling of pagination overflow by returning
404 - Improved performance of recursive site reference loading
- Refactored XRONOS data response helpers
v1.1.1
JSON & performance hotfixes for XRONOS data, sites, and C14 records.
- Opened lean JSON endpoints for C14 labs and C14 dates, returning JSON directly from the controller and trimming unnecessary associations from samples.
- Optimised eager loading for sites, C14s and references pages, solving several N+1 query issues and preloading PaperTrail versions where needed.
- Added fragment caching to the site view and a 10-minute cache for XRONOS data responses, significantly reducing load times for heavy data pages.
- Cached item counts on the home page and re-used Pagy’s count values instead of recounting, further reducing database load.
- Improved map performance by streamlining the JavaScript and optimising how counts are calculated for the map view.
- Adjusted C14 calibration handling by removing noisy calibration logging and only joining cals when a calibration filter is actually applied.
- Added MessagePack support and updated Rails to the latest 7.2 release, keeping dependencies current and improving overall performance.
What's Changed
- refactored sites table, resolves #169 by @MartinHinz in #381
- Hotfixes json by @MartinHinz in #400
Full Changelog: v1.1.0...v1.1.1
v1.1.0
- Introduced the ability to manage and display external linked data (e.g., Wikidata) within the application
- Added a new Linked Data section to the site view, providing clear and user- friendly access to external resources
- Added options for authorized users to add external resource links (e.g. Wikidata entries)
- Improved search interface; now shows more information and can be filtered by record type
- Added
LONG_LABELissue for references (#260) - Updated to Ruby 3.3.6 and Rails 7.2
v1.0.0
First named release.
Logged pull requests to date:
- Explicit api by @MartinHinz in #4
- improved speed significantly by @MartinHinz in #20
- doh! recompleted gemfile by @MartinHinz in #21
- Dev speedup by @MartinHinz in #22
- updated ruby to 2.7.2 by @MartinHinz in #32
- Remove user id from models by @MartinHinz in #34
- Seeds by @MartinHinz in #33
- Rails6 by @MartinHinz in #35
- switched to Ruby 3.0.2 and updated gems. Closes xronos-ch/orga#16 by @MartinHinz in #36
- updated to rails 6.1.4.1. because of vulnerability of actionpack by @MartinHinz in #50
- Staging by @MartinHinz in #51
- updated yarn as far as possible by @MartinHinz in #52
- added projects to about page by @MartinHinz in #60
- Quickfix security alerts by @MartinHinz in #62
- updated yarn by @MartinHinz in #63
- Quickfix security alerts by @MartinHinz in #64
- updated gems by @MartinHinz in #73
- Added coop partner thomasz by @MartinHinz in #74
- solved most security alerts by @MartinHinz in #75
- Renovate about pages by @joeroe in #81
- Improve map style by @joeroe in #82
- Bootstrap forms by @joeroe in #85
- Update show.json.rabl by @joeroe in #106
- Curation by @joeroe in #122
- Curation by @joeroe in #125
- replace length by count by @MartinHinz in #130
- Faster map by @MartinHinz in #148
- Update from master by @joeroe in #152
- Merge old commits from staging by @joeroe in #153
- Merge pull request #153 from xronos-ch/staging by @joeroe in #154
- Basic Postgres search API by @joeroe in #164
- fixed record count, solves #151 by @MartinHinz in #166
- Fix maps javascript by @MartinHinz in #167
- Bug squashing by @joeroe in #170
- yarn upgrade by @MartinHinz in #171
- bundle update by @MartinHinz in #174
- Update staging by @joeroe in #175
- Add webpack as explicit dependency by @joeroe in #176
- Staging by @joeroe in #177
- Update staging from master by @joeroe in #178
- Fix node setup problems from staging by @joeroe in #179
- Reenable tests by @MartinHinz in #180
- Search & duplicate processing by @joeroe in #187
- Codecov by @MartinHinz in #190
- Test api by @MartinHinz in #191
- bump by @MartinHinz in #193
- Using calibrator by @MartinHinz in #192
- Healthcheck by @MartinHinz in #195
- Fixing api crash sitetypes by @MartinHinz in #198
- Testing calibrator by @MartinHinz in #194
- Improve performance and reliability by @joeroe in #212
- Tidy up Gemfile by @joeroe in #231
- make hamburger opaque when shown, fixes #207 by @MartinHinz in #234
- Removing rabl by @MartinHinz in #233
- bump to rails 6.1.7 by @MartinHinz in #235
- very basic http_auth for staging by @MartinHinz in #236
- replaced link_to with button_to for logout by @MartinHinz in #238
- Performance and accessibility by @joeroe in #239
- Data quality: taxons by @joeroe in #248
- Content management by @joeroe in #251
- Tabulated data by @joeroe in #254
- More issues by @joeroe in #282
- Fix vulnerability in issues interface by @joeroe in #283
- More issues by @joeroe in #285
- Restore functionality to data browser by @joeroe in #299
- Upgrade to Rails 7 by @joeroe in #305
- User managment by @MartinHinz in #275
- Editing improvements by @joeroe in #321
- Curating missing country for sites by @MartinHinz in #322
- Speeding up api by @MartinHinz in #332
- Mat view api by @MartinHinz in #335
- Geojson endpoint by @MartinHinz in #334
- Fixing ci by @MartinHinz in #337
- Flat File Export and Daily Update Task by @MartinHinz in #338
- Csv and JSON download by @MartinHinz in #336
New Contributors
- @MartinHinz made their first contribution in #4
- @joeroe made their first contribution in #81
Full Changelog: https://github.com/xronos-ch/xronos.rails/commits/v1.0.0