OpenRefine Versions Save

OpenRefine is a free, open source power tool for working with messy data and improving it

3.6.2

1 year ago

This is the third stable release of the 3.6 series. Please backup your workspace directory before installing and report any problems that you encounter.

Starting with version 3.6, OpenRefine requires Java 11 or later.

New in 3.6.2

  • An overflow issue with the reconciliation dialog was fixed (#5286)

New features

  • The user is now warned when applying the "Fill down" or "Blank down" operations with a pending sorting criterion (#3256)
  • The import preview refreshing can be disabled (#4009)
  • Menu items to reveal collapsed columns were added to the column menus (#4067)
  • The path to the refine.ini configuration file can now be changed on the command line (#4113)
  • It is now possible to download the JSON representation of the operation history, without resorting to copy and paste (#4498)
  • It is now possible to work with Wikibase instances with federation enabled (#4287)
  • The merge strategy for statements can be configured in the Wikibase schema editor. This also adds support for deleting statements. Beware that schemas created with earlier versions of OpenRefine will still use the original merge strategy. (#3383, #2116, #4130)
  • OpenRefine can edit MediaInfo entities and not just Items (#4270)
  • It is possible to disable the new version notification by setting the configuration variable refine.display.new.version.notice=false (#4410)
  • The dialog to reorder and delete columns was improved to easily delete most columns (#4557)
  • The maximum editing speed and the Wikibase tag to apply to all Wikibase edits is now configurable for each Wikibase instance via its manifest (#3359)
  • Extra URL fields in the starting page can be removed thanks to a new button (#4606)
  • The "Use values as identifiers" operation now warns that it does not validate the identifiers (#3172)

GREL changes

  • A new GREL function, parent, was introduced to obtain the parent element of an XML element (#4181)
  • A new GREL function, scriptText, was introduced to obtain the text contained in a <script> or <style> element in HTML (#4189)
  • The random (previously randomNumber) GREL function was improved (#3143)
  • A new GREL function parseUri was introduced (#1857)
  • A new GREL function detectLanguage was introduced (#642)
  • New GREL functions encode and decode were introduced (#148)
  • The error handling of the pow and exp functions was improved (#3062)
  • The division operator returns NaN when computing 0/0 (#377)
  • A function timeSinceUnixEpochToDate was introduced, to convert a duration since Epoch to a date object (#608)
  • A function replaceEach was introduced, to replace multiple substrings in one go (#2606)

For extension developers

  • (from 3.6-rc1 on) We migrated to jQuery 3.6.0. If you are using jQuery in your extension, some jQuery syntaxes that have been deprecated earlier might have been removed. If your extension runs with OpenRefine 3.5.2, you can check the web developer console for warning messages when the extension is used: fixing those should be enough for your extension to be compatible with OpenRefine 3.6 (#4891)

And many bug fixes, see the complete list of changes for 3.6.

Download

3.6.1

1 year ago

This is the second stable release of the 3.6 series. Please backup your workspace directory before installing and report any problems that you encounter.

Starting with version 3.6, OpenRefine requires Java 11 or later.

New in 3.6.1

  • The editing of redirected Wikibase entities was fixed (#5162)
  • A bug with selection of clusters in the clustering dialog was fixed (#5138)
  • Date handling in the Google data extension was fixed (#5107)
  • A packaging issue in MacOS was tentatively fixed (#5160)

New features

  • The user is now warned when applying the "Fill down" or "Blank down" operations with a pending sorting criterion (#3256)
  • The import preview refreshing can be disabled (#4009)
  • Menu items to reveal collapsed columns were added to the column menus (#4067)
  • The path to the refine.ini configuration file can now be changed on the command line (#4113)
  • It is now possible to download the JSON representation of the operation history, without resorting to copy and paste (#4498)
  • It is now possible to work with Wikibase instances with federation enabled (#4287)
  • The merge strategy for statements can be configured in the Wikibase schema editor. This also adds support for deleting statements. Beware that schemas created with earlier versions of OpenRefine will still use the original merge strategy. (#3383, #2116, #4130)
  • OpenRefine can edit MediaInfo entities and not just Items (#4270)
  • It is possible to disable the new version notification by setting the configuration variable refine.display.new.version.notice=false (#4410)
  • The dialog to reorder and delete columns was improved to easily delete most columns (#4557)
  • The maximum editing speed and the Wikibase tag to apply to all Wikibase edits is now configurable for each Wikibase instance via its manifest (#3359)
  • Extra URL fields in the starting page can be removed thanks to a new button (#4606)
  • The "Use values as identifiers" operation now warns that it does not validate the identifiers (#3172)

GREL changes

  • A new GREL function, parent, was introduced to obtain the parent element of an XML element (#4181)
  • A new GREL function, scriptText, was introduced to obtain the text contained in a <script> or <style> element in HTML (#4189)
  • The random (previously randomNumber) GREL function was improved (#3143)
  • A new GREL function parseUri was introduced (#1857)
  • A new GREL function detectLanguage was introduced (#642)
  • New GREL functions encode and decode were introduced (#148)
  • The error handling of the pow and exp functions was improved (#3062)
  • The division operator returns NaN when computing 0/0 (#377)
  • A function timeSinceUnixEpochToDate was introduced, to convert a duration since Epoch to a date object (#608)
  • A function replaceEach was introduced, to replace multiple substrings in one go (#2606)

For extension developers

  • (from 3.6-rc1 on) We migrated to jQuery 3.6.0. If you are using jQuery in your extension, some jQuery syntaxes that have been deprecated earlier might have been removed. If your extension runs with OpenRefine 3.5.2, you can check the web developer console for warning messages when the extension is used: fixing those should be enough for your extension to be compatible with OpenRefine 3.6 (#4891)

And many bug fixes, see the complete list of changes for 3.6.

Download

3.6.0

1 year ago

This is the first stable release of the 3.6 series. Please backup your workspace directory before installing and report any problems that you encounter.

Starting with version 3.6, OpenRefine requires Java 11 or later.

New features

  • The user is now warned when applying the "Fill down" or "Blank down" operations with a pending sorting criterion (#3256)
  • The import preview refreshing can be disabled (#4009)
  • Menu items to reveal collapsed columns were added to the column menus (#4067)
  • The path to the refine.ini configuration file can now be changed on the command line (#4113)
  • It is now possible to download the JSON representation of the operation history, without resorting to copy and paste (#4498)
  • It is now possible to work with Wikibase instances with federation enabled (#4287)
  • The merge strategy for statements can be configured in the Wikibase schema editor. This also adds support for deleting statements. Beware that schemas created with earlier versions of OpenRefine will still use the original merge strategy. (#3383, #2116, #4130)
  • OpenRefine can edit MediaInfo entities and not just Items (#4270)
  • It is possible to disable the new version notification by setting the configuration variable refine.display.new.version.notice=false (#4410)
  • The dialog to reorder and delete columns was improved to easily delete most columns (#4557)
  • The maximum editing speed and the Wikibase tag to apply to all Wikibase edits is now configurable for each Wikibase instance via its manifest (#3359)
  • Extra URL fields in the starting page can be removed thanks to a new button (#4606)
  • The "Use values as identifiers" operation now warns that it does not validate the identifiers (#3172)

GREL changes

  • A new GREL function, parent, was introduced to obtain the parent element of an XML element (#4181)
  • A new GREL function, scriptText, was introduced to obtain the text contained in a <script> or <style> element in HTML (#4189)
  • The random (previously randomNumber) GREL function was improved (#3143)
  • A new GREL function parseUri was introduced (#1857)
  • A new GREL function detectLanguage was introduced (#642)
  • New GREL functions encode and decode were introduced (#148)
  • The error handling of the pow and exp functions was improved (#3062)
  • The division operator returns NaN when computing 0/0 (#377)
  • A function timeSinceUnixEpochToDate was introduced, to convert a duration since Epoch to a date object (#608)
  • A function replaceEach was introduced, to replace multiple substrings in one go (#2606)

For extension developers

  • (from 3.6-rc1 on) We migrated to jQuery 3.6.0. If you are using jQuery in your extension, some jQuery syntaxes that have been deprecated earlier might have been removed. If your extension runs with OpenRefine 3.5.2, you can check the web developer console for warning messages when the extension is used: fixing those should be enough for your extension to be compatible with OpenRefine 3.6 (#4891)

And many bug fixes, see the complete list of changes for 3.6.

Download

3.6-rc1

1 year ago

This is the first release candidate of the 3.6 series. Please backup your workspace directory before installing and report any problems that you encounter.

Starting with version 3.6, OpenRefine requires Java 11 or later.

New features

  • The user is now warned when applying the "Fill down" or "Blank down" operations with a pending sorting criterion (#3256)
  • The import preview refreshing can be disabled (#4009)
  • Menu items to reveal collapsed columns were added to the column menus (#4067)
  • The path to the refine.ini configuration file can now be changed on the command line (#4113)
  • It is now possible to download the JSON representation of the operation history, without resorting to copy and paste (#4498)
  • It is now possible to work with Wikibase instances with federation enabled (#4287)
  • The merge strategy for statements can be configured in the Wikibase schema editor. This also adds support for deleting statements. Beware that schemas created with earlier versions of OpenRefine will still use the original merge strategy. (#3383, #2116, #4130)
  • OpenRefine can edit MediaInfo entities and not just Items (#4270)
  • It is possible to disable the new version notification by setting the configuration variable refine.display.new.version.notice=false (#4410)
  • The dialog to reorder and delete columns was improved to easily delete most columns (#4557)
  • The maximum editing speed and the Wikibase tag to apply to all Wikibase edits is now configurable for each Wikibase instance via its manifest (#3359)
  • Extra URL fields in the starting page can be removed thanks to a new button (#4606)
  • The "Use values as identifiers" operation now warns that it does not validate the identifiers (#3172)

GREL changes

  • A new GREL function, parent, was introduced to obtain the parent element of an XML element (#4181)
  • A new GREL function, scriptText, was introduced to obtain the text contained in a <script> or <style> element in HTML (#4189)
  • The random (previously randomNumber) GREL function was improved (#3143)
  • A new GREL function parseUri was introduced (#1857)
  • A new GREL function detectLanguage was introduced (#642)
  • New GREL functions encode and decode were introduced (#148)
  • The error handling of the pow and exp functions was improved (#3062)
  • The division operator returns NaN when computing 0/0 (#377)
  • A function timeSinceUnixEpochToDate was introduced, to convert a duration since Epoch to a date object (#608)
  • A function replaceEach was introduced, to replace multiple substrings in one go (#2606)

For extension developers

  • (from 3.6-rc1 on) We migrated to jQuery 3.6.0. If you are using jQuery in your extension, some jQuery syntaxes that have been deprecated earlier might have been removed. If your extension runs with OpenRefine 3.5.2, you can check the web developer console for warning messages when the extension is used: fixing those should be enough for your extension to be compatible with OpenRefine 3.6 (#4891)

And many bug fixes, see the complete list of changes for 3.6.

Download

3.6-beta2

1 year ago

This is the second beta release of the 3.6 series. Please backup your workspace directory before installing and report any problems that you encounter.

New features

  • The user is now warned when applying the "Fill down" or "Blank down" operations with a pending sorting criterion (#3256)
  • The import preview refreshing can be disabled (#4009)
  • Menu items to reveal collapsed columns were added to the column menus (#4067)
  • The path to the refine.ini configuration file can now be changed on the command line (#4113)
  • It is now possible to download the JSON representation of the operation history, without resorting to copy and paste (#4498)
  • It is now possible to work with Wikibase instances with federation enabled (#4287)
  • The merge strategy for statements can be configured in the Wikibase schema editor. This also adds support for deleting statements. Beware that schemas created with earlier versions of OpenRefine will still use the original merge strategy. (#3383, #2116, #4130)
  • OpenRefine can edit MediaInfo entities and not just Items (#4270)
  • It is possible to disable the new version notification by setting the configuration variable refine.display.new.version.notice=false (#4410)
  • The dialog to reorder and delete columns was improved to easily delete most columns (#4557)
  • The maximum editing speed and the Wikibase tag to apply to all Wikibase edits is now configurable for each Wikibase instance via its manifest (#3359)
  • Extra URL fields in the starting page can be removed thanks to a new button (#4606)
  • The "Use values as identifiers" operation now warns that it does not validate the identifiers (#3172)

GREL changes

  • A new GREL function, parent, was introduced to obtain the parent element of an XML element (#4181)
  • A new GREL function, scriptText, was introduced to obtain the text contained in a <script> or <style> element in HTML (#4189)
  • The random (previously randomNumber) GREL function was improved (#3143)
  • A new GREL function parseUri was introduced (#1857)
  • A new GREL function detectLanguage was introduced (#642)
  • New GREL functions encode and decode were introduced (#148)
  • The error handling of the pow and exp functions was improved (#3062)
  • The division operator returns NaN when computing 0/0 (#377)
  • A function timeSinceUnixEpochToDate was introduced, to convert a duration since Epoch to a date object (#608)
  • A function replaceEach was introduced, to replace multiple substrings in one go (#2606)

And many bug fixes, see the complete list of changes for 3.6.

3.6-beta1

1 year ago

For technical reasons this release was skipped, refer to 3.6-beta2 instead.

3.5.2

2 years ago

This is the third stable release of the 3.5 series. Please backup your workspace directory before installing and report any problems that you encounter.

New in 3.5.2

  • Log4j was upgraded to 2.17.1

New in 3.5.1

  • Log4j was upgraded to version 2.16.0
  • OpenRefine is compatible with Java versions 8 to 17 (#4106)

New features in 3.5

  • Wikidata support has been generalized to arbitrary Wikibase instances. (#1640)
  • The cross function now accepts implicit project and column names (#2504)
  • The left panel can be collapsed (#1038) and resized (#2771)
  • Support for more Wikidata constraints was added (multi-value, difference within range, conflicts with, and citation needed constraints) (#2354)
  • Splitting multi-valued cells is now possible by transition between uppercase/lowercase (#2238)
  • When importing multiple archive files, importers can store the filename of the archive file each row was extracted from (#1963)
  • It is now possible to go to a page of the project table directly (#2638)
  • The pagination sizes offered by the UI can now be configured by setting the ui.browsing.pageSize preference to values such as [100,500,1000,2000] (#2624)
  • Format detection at the import stage was improved (#2805, #2800)
  • The split/join multivalued cells dialogs now remember the last separator used (#2197)
  • The forEach GREL function works on JSON objects (#3149)
  • A new GREL function wholeText can be used to extract all the text inside an XML element (including in its children) (#3180)
  • A dialog to confirm the removal of starred expressions was added (#501)
  • HTTP host validation was added (#3288)
  • The Wikibase extension can now be used to add BCE dates (#3816)
  • The common cell transforms can be run on a selection of columns easily (#1843)
  • Greater numbers of rows per page can now be selected (#3249) (after 3.5-beta1)

See the full list of changes for 3.5.

Checksums

  • openrefine-linux-3.5.2.tar.gz: SHA f5b295d62179a9ba218607a74b7d53d0b16e44ce
  • openrefine-win-3.5.2.zip: SHA e3d457b8a6366ae7837f0dac8878d63a75236e04
  • openrefine-win-with-java-3.5.2.zip: SHA f47910898c92d61d3610a5b5a18076a6ce9669c2
  • openrefine-mac-3.5.2.dmg: SHA 7f0f1ed81ca41ea7a2f57852cc672d1781adc7b7

4.0-alpha1

2 years ago

This is the first alpha release of the 4.0 series. Expect many bugs: your help is welcome to test this new architecture.

Main changes

  • This new version uses a different workspace: your projects from OpenRefine 3.x will not appear in this version. They will not be deleted though: you can always open them again by running OpenRefine 3.x. Project archives exported from OpenRefine 3.x can be read in OpenRefine 4.x, but the operation history will be discarded.
  • Project data no longer needs to fit in the working memory (RAM) of your machine. This makes it easier to work on large datasets. (#242)
  • It is possible to execute OpenRefine operations in Apache Spark (#1433). The execution engine used by OpenRefine is currently selected at startup with the -r (Unix) or /r (Windows) parameter (it is foreseen that this will change before a stable release as Spark support will be moved to an extension, see #4396).
  • Facet statistics are computed on a sample of rows by default. The size of the sample can be configured.
  • The CSV/TSV importer supports a new option which controls whether rows are allowed to span multiple lines of the source file.

Documentation about those new features will be published soon.

For developers

Most extensions will be incompatible with this new version, as many incompatible changes have been introduced.

  • OpenRefine now uses the org.openrefine namespace instead of com.google.refine.
  • The code base was split into more granular Maven modules. Those modules are published to Maven Central to ease the development of extensions (currently in the snapshot repository as their structure is not final yet). Feedback about the module structure is welcome.
  • The architecture of the data processing engine changed to make it extensible. The execution of workflows can happen fully in memory, off disk or in an Apache Spark, or in other execution engines if the corresponding runners are implemented. Feedback about the data model API is welcome.

A documentation of the new architecture will be published soon.

3.5.1

2 years ago

This is the second stable release of the 3.5 series. Please backup your workspace directory before installing and report any problems that you encounter.

New in 3.5.1

  • Log4j was upgraded to version 2.16.0
  • OpenRefine is compatible with Java versions 8 to 17 (#4106)

New features in 3.5

  • Wikidata support has been generalized to arbitrary Wikibase instances. (#1640)
  • The cross function now accepts implicit project and column names (#2504)
  • The left panel can be collapsed (#1038) and resized (#2771)
  • Support for more Wikidata constraints was added (multi-value, difference within range, conflicts with, and citation needed constraints) (#2354)
  • Splitting multi-valued cells is now possible by transition between uppercase/lowercase (#2238)
  • When importing multiple archive files, importers can store the filename of the archive file each row was extracted from (#1963)
  • It is now possible to go to a page of the project table directly (#2638)
  • The pagination sizes offered by the UI can now be configured by setting the ui.browsing.pageSize preference to values such as [100,500,1000,2000] (#2624)
  • Format detection at the import stage was improved (#2805, #2800)
  • The split/join multivalued cells dialogs now remember the last separator used (#2197)
  • The forEach GREL function works on JSON objects (#3149)
  • A new GREL function wholeText can be used to extract all the text inside an XML element (including in its children) (#3180)
  • A dialog to confirm the removal of starred expressions was added (#501)
  • HTTP host validation was added (#3288)
  • The Wikibase extension can now be used to add BCE dates (#3816)
  • The common cell transforms can be run on a selection of columns easily (#1843)
  • Greater numbers of rows per page can now be selected (#3249) (after 3.5-beta1)

See the full list of changes for 3.5.

Checksums

  • openrefine-linux-3.5.1.tar.gz: SHA d2b4298db9c771a85b955f20e923d3c0bf70c658
  • openrefine-win-3.5.1.zip: SHA 1d30a812060c7832580b56d6de31a85f4a4c4deb
  • openrefine-win-with-java-3.5.1.zip: SHA c0102e157db8470dd4d3da0f8cd9bf085f3f28c6
  • openrefine-mac-3.5.1.dmg: SHA 40f8a40c18b366a142777ef49c8c7e87dbffeb06

3.5.0

2 years ago

This is the first stable release of the 3.5 series. Please backup your workspace directory before installing and report any problems that you encounter.

New features

  • Wikidata support has been generalized to arbitrary Wikibase instances. (#1640)
  • The cross function now accepts implicit project and column names (#2504)
  • The left panel can be collapsed (#1038)
  • Support for more Wikidata constraints was added (multi-value, difference within range, conflicts with, and citation needed constraints) (#2354)
  • Splitting multi-valued cells is now possible by transition between uppercase/lowercase (#2238)
  • When importing multiple archive files, importers can store the filename of the archive file each row was extracted from (#1963)
  • It is now possible to go to a page of the project table directly (#2638)
  • The pagination sizes offered by the UI can now be configured by setting the ui.browsing.pageSize preference to values such as [100,500,1000,2000] (#2624)
  • Format detection at the import stage was improved (#2805, #2800)
  • The split/join multivalued cells dialogs now remember the last separator used (#2197)
  • The forEach GREL function works on JSON objects (#3149)
  • A new GREL function wholeText can be used to extract all the text inside an XML element (including in its children) (#3180)
  • A dialog to confirm the removal of starred expressions was added (#501)
  • HTTP host validation was added (#3288)
  • The Wikibase extension can now be used to add BCE dates (#3816)
  • The common cell transforms can be run on a selection of columns easily (#1843)
  • Greater numbers of rows per page can now be selected (#3249) (after 3.5-beta1)

See the full list of changes for 3.5.

Checksums

  • openrefine-linux-3.5.0.tar.gz: SHA 49354715470f0a71b3f5ec9911071f87adf54275
  • openrefine-win-3.5.0.zip: SHA 42c8971afc996c8015d19b98af33dc4ae8602ee3
  • openrefine-win-with-java-3.5.0.zip: SHA 055f185796ce2849f945485ee171a3a857982a6b
  • openrefine-mac-3.5.0.dmg: SHA a7d34ac4c8528ecd53e84de1f90ad453a0ecc256