This is the first stable release of the 3.10 series. Please backup your workspace directory before installing and report any problems that you encounter.
The following webinar highlights many of the new features in this release: OpenRefine 3.10 presentation
For a complete list of changes, see the following change logs:
Full Changelog since 3.9.5: 3.9.5...3.10.0
Full Changelog since beta1: 3.10-beta1...3.10.0
What's Changed
Breaking Changes 🛠
New Features 🎉
- Propagate column renames to facets by @wetneb in #7073
- Show Undo notification when applying recipes by @wetneb in #7173
- Add option to keep only matching rows and delete the rest by @kalindafab in #7061
- Wikibase : New media upload support for validation of mandatory properties by @sunilnatraj in #7068
- Large Wikimedia uploads >100 MB (issue number?)
- add GREL function for string normalization as done internally by fingerprint() by @AbhinavPandey1911 in #7127
- Add support for XZ, LZMA, 7zip, ZStandard, and Unix compress (.Z files) formats on import via Apache Compress by @tfmorris in #7497
- Improve generalizability of the "column move" operation by @wetneb in #7174
- closes #6281: renaming "view" options for columns in menu by @PadyA0 in #7193
- Avoid name collisions of internal columns when applying recipes by @wetneb in #7236
- add upload button to preview tab by @smierz in #7253
- Feature/Add Editing results facet button to extensions menu by @savchrisostomidhs in #7312
- Fix: Add check before looping over archive/filename columns (#7319) by @amankumar100 in #7344
- Closes #6311: Unified style of column headers in import preview and p… by @zleonenc in #7415
- implements terminal-like scroll for expression history (arrow up/down) by @DevangJagdale in #7437
- implement basic Geospatial extension with decToGMS and geoDistance functions by @SashankBhamidi in https://github.com/OpenRefine/openrefine-geo-extension
- Database: uniform batch size handling for preview and import by @DaxServer in #7446
- Introduce GetColumnDependenciesCommand by @wetneb in #7131 #7169
- Add support for renaming columns in operation metadata by @wetneb in #7132
- ExporterManager: add an explicite extension point by @Abbe98 in #7316
- Make it possibly for users to quickly copy system and version information by @Abbe98 in #7019
Bug Fixes 🐛🕷
- Update LoadLanguageCommand.java by @DevangJagdale in #7120
- Windows installer removes previous install by @wetneb in #7123
- Correct home page behaviour when there are no events to advertise by @wetneb in #7108
- weird layout for wikitext importer by @SoryRawyer in #7176
- Fix infinite loading spinner for invalid or unknown project IDs by @SoryRawyer in #7187
- fixes 7010: open file manager with headless Java by @SoryRawyer in #7197
- Fix pagination controls and row range by @wetneb in #7201
- Show all column headers in full by default by @wetneb in #7168
- Disable maximum string length in Jackson by @wetneb in #7191
- Fix layout of menu icons for long descriptions by @wetneb in #7166
- Send absolute row index in request when "last" pagination button is clicked by @SoryRawyer in #7211
- Fix "Edit all columns" menu by @wetneb in #7218
- Enable custom clustering for non-GREL expressions by @b2m in #7243
- Include
contextPathwhen returning a redirect response by @SoryRawyer in #7244 - Fix deserialization of RowAdditionOperation. by @wetneb in #7247
- wikibase: fix NoValueSnak being incorrectly cast by @Johann150 in #7292
- fix storeBlankColumns: delete only after project parsed by @smierz in #7272
- refine: use grep -E instead of egrep by @alanorth in #7408
- Set custom user agent for Wikidata calls. Fixes #7383 by @tfmorris in #7412
- never exceed viewport width by @DevangJagdale in #7429
- Fix import of non-archive compressed files. Fixes #7314 by @tfmorris in #7353
- fix db import progress updates by @smierz in #7439
- Remove Icelandic as a language option. Fixes #7482 by @tfmorris in #7483
- switch to new mysql connector coordinates by @smierz in #7477
- Enable source data display in JSON parser error messages by @Copilot in #7496
- fix mysql driver class by @smierz in #7478
- Make references to JDBC driver classes explicit. Fixes #7504 by @tfmorris in #7506
- Update dependencies for database extension by @tfmorris in #7512
- fix loading 100 rows in db import preview by @smierz in #7507
Windows-specific
- refine.bat exit on errors from external programs by @thadguidry in #7115
- Fixes missing wmic command output running refine.bat if Powershell by @thadguidry in #7130
Other Changes
- Add icons to operations in column menu by @wetneb in #7060
- operations: Expose column dependencies and diffs by @wetneb in #7056
- facets: Add a ability to translate after a column rename by @wetneb in #7065
- fix: Double opening of file selection in 'Apply' dialog by @wetneb in #7100
- ui: Use 'Run operations' instead of 'Perform operations' in Apply dialog by @wetneb in #7101
- history: Validate column dependencies of operations before applying them by @wetneb in #7095
- operations: Expose column dependencies in c.g.r.o.cells by @wetneb in #7096
- operations: Expose column dependencies in c.g.r.o.recon by @wetneb in #7097
- operations: Expose column dependencies for c.g.r.o.rows by @wetneb in #7098
- chore: Separate command and operation tests for duplicate row removal by @wetneb in #7118
- windows: Don't offer to open the readme at the end of the installation by @wetneb in #7128
- Introduce the Recipe class to hold a list of operations by @wetneb in #7116
- Pure CSS alternative to highlighting history entries on hover by @wetneb in #7134
- fix: Better error reporting in apply opertations dialog by @wetneb in #7133
- fix typos for chomp English translation by @thadguidry in #7139
- grel: More faithful pretty-printing for string and regex literals by @wetneb in #7117
- operations: Improve data extension operation to control the created columm names by @wetneb in #7119
- MacOS: update file permissions in DMG package by @wetneb in #7144
- operations: Renaming support for c.g.r.o.cell by @wetneb in #7156
- operations: Renaming support for c.g.r.o.column by @wetneb in #7153
- Show operation icons in history panel by @wetneb in #7135
- operations: Renaming support for c.g.r.o.recon by @wetneb in #7155
- operations: Renaming support for c.g.r.o.row by @wetneb in #7154
- wikibase: Enable columnar analysis and renaming on operations by @wetneb in #7157
- Add icons for all recon operations by @wetneb in #7146
- Add icons for all remaining operations in the main module by @wetneb in #7159
- Implement missing column dependencies and columns diff on new operations by @wetneb in #7195
- Fix: column dependencies in cell split/join operations by @wetneb in #7192
- Use aria-labelledby over aria-labeledby by @keithamus in #7216
- Identify syntax errors in Python expressions by @SoryRawyer in #7217
- Add operation to remove multiple columns in one step by @wetneb in #7194
- Increase limit for CSV cell size by @wetneb in #7219
- replace png arrows with svg by @smierz in #7226
- Map recipe columns to project columns in 'Apply' dialog by @wetneb in #7158
- fix: JSON deserialization of RowAdditionOperation by @wetneb in #7225
- Resolve cypress test failures from language updates by @SoryRawyer in #7260
- Introduce icons for facet types by @wetneb in #7233
- Add operation icons to the dialog warning of history erasure by @wetneb in #7230
- Update Cypress dependency files by @wetneb in #7228
- wikibase: Add operation icons by @wetneb in #7232
- wikibase: Fix translation keys of English description issues by @wetneb in #7283
- 2024 governance update by @magdmartin in #7023
- Proposal: Add JSDoc annotations to JavaScript extension points by @Abbe98 in #7296
- docs: add jsdoc annotations to DOM utilities by @Abbe98 in #7306
- docs: add jsdoc annotations to I18N utilities by @Abbe98 in #7307
- docs: add jsdoc annotations to CellRenderRegistry by @Abbe98 in #7315
- docs: add jsdoc annotations to CSRF utilities by @Abbe98 in #7305
- don't inject default encodings into the client by @Abbe98 in #7304
- test: add regression test for AddColumnCommand parameter parsing by @amansingh-swe in #7310
- Switch to OSSRH Staging API. Refs #7390 by @tfmorris in #7401
- replace png in db extension with svg by @smierz in #7494
- replace several png with svg by @smierz in #7530
- fix typo in path to operation icon by @smierz in #7554
New Contributors
- @b2m made their first (code) contribution in #7243
- @kalindafab made their first contribution in #7061
- @ej2432 made their first contribution in #7107
- @DevangJagdale made their first contribution in #7120
- @AbhinavPandey1911 made their first contribution in #7127
- @keithamus made their first contribution in #7216
- @PadyA0 made their first contribution in #7193
- @Johann150 made their first contribution in #7292
- @JyothiSwaroopReddy07 made their first contribution in #7301
- @savchrisostomidhs made their first contribution in #7312
- @amansingh-swe made their first contribution in #7310
- @amankumar100 made their first contribution in #7344
- @alanorth made their first contribution in #7408
- @zleonenc made their first contribution in #7415
- @ritoban23 made their first contribution in #7447
- @SashankBhamidi made their first contribution in #7432
- @Copilot made their first contribution in #7496 (welcome, our AI overlords!)
Full Changelog: 3.9.5...3.10.0
Dependency updates
Most dependencies have had at least minor updates. Please review the changes in pom.xml for details. Some of the more significant ones, including database drivers, are listed in the sections above.