### Arches 4.2.0 release notes
June 19, 2018
The Arches team has been busy improving Arches and fixing several bugs as well.
Below you'll find a listing of all the changes that are included in the latest release.
Some of the highlights:
- Allows users to collect and search on 'fuzzy' dates
- Stages resource instance edits as 'provisional' for users unauthorized to save authoritative data
- Allows authorized users to review and search on 'provisional' resource data
- Improves performance by reducing database queries and data payloads
- Adds support for defining the import/export date format
- Allows for configuration of the time wheel
- Migrates to yarn from bower
- Many other small improvements
#### Upgrading Arches
Users are encouraged to update at their earliest convenience. Completely re-installing Arches is the easiest way to accomplish this.
If you can't completely re-install Arches (because you have data in the system that you want to preserve) then you'll need to upgrade by running the following commands in your activated virtual environment:
```
pip install arches --upgrade --no-binary :all:
python manage.py migrate
python manage.py es delete_indexes
python manage.py es setup_indexes
python manage.py es index_database
```
If you have Arches running on a web server such as Apache, be sure to update your static files directory and restart your web server.
As always the documentation can be found at http://arches.readthedocs.io/en/stable/
#### Installing Yarn
One of the biggest changes between 4.1 and 4.2 is the transition from Bower to Yarn. We made this change due to the fact that Bower is no longer supported. Therefore, Arches needed to move to an alternative JavaScript repository before Bower is no longer available.
In order to create new projects or update and existing project to run 4.2, you will need in install Yarn. This may require upgrading NodeJS:
1. Upgrade node (min version 8.11.2) and npm (min version 5.6.0)
2. Install yarn (min version 1.5.1)
#### Upgrading an Arches project
If you are upgrading your project from 4.1.0, you should review the project [upgrade steps from 4.1.0 to 4.1.1](https://github.com/archesproject/arches/blob/master/releases/4.1.1.md#upgrading-an-arches-project) before proceeding.
To upgrade your existing project to use Yarn:
1. In a terminal cd to your project directory and run the following command::
python manage.py updateproject
This command adds the `package.json` and `.yarnrc` files to your project and then runs `yarn install`.
2. Update the javascript path in your `index.htm` file:
Change this path:
To this path:
Optional project changes you may want to make:
1. In 4.2 users can cache the time wheel to make subsequent loads faster. They can also configure their time wheel to produce fewer date range bins. Refer to [time wheel configuration](https://arches.readthedocs.io/en/stable/additional-configuration/#time-wheel-configuration) for more details on how to modify these settings in your project.
2. Projects can now use settings from packages. If your project was created with Arches 4.1, you will need to make the following change to your projects settings.py file. This is only necessary if you are loading data from a package and your package contains a [package_settings.py](https://arches.readthedocs.io/en/stable/settings-beyond-the-ui/) file.
```
try:
from settings_local import *
except ImportError:
pass
```
to:
```
try:
from package_settings import *
from settings_local import *
except ImportError:
pass
```
#### Changes
- Makes tile edits provisional if a user does not belong to the Resource Reviewer group. re #2974
- Indicates that a users provisional edits have been submitted for review. re #2974
- Allows reviewers to accept or delete provisional edits. re #2974
- Allows reviewers to search for provisional edits using search
- Only reviewers can see 'provisional' terms in search suggestions. re #2975
- Adds provisional changes to edit log and displays username in log when user email is not available. re #2974
- Allows users to save fuzzy dates using the EDTF widget. re #2337
- Makes fuzzy dates searchable - including in advanced search. re #2337
- Allows natural language processing of dates (eg: use of 'circa, BC, etc'). re #2337
- Enables definition of hover and click styles for custom overlays. #3375
- Adds a setting to configure the search time wheel date ranges. re #3306
- Caches the time wheel if a project's cache settings are enabled. re #3343
- Adds support for custom map markers. re: #3098
- Updates color in color-picker binding when a user resets their graph settings. re #3199
- Delegates search results layer definition to package, re: #2911
- Search results layer supports heatmap opacity, re: #2911
- Better supports search layer management, re: #2911
- Allows users to import business data using a relative path. re #2947
- Adds support for defining the import/export date format. re #3230
- Adds 'identifier' to the list of value type options in the RDM. re #22
- Adds ability to order business data loading packages. re #3268
- Allows for import of report templates from package
- Fix ambiguous primary descriptor 'invalid nodegroup' error, re #3220
- Adds command to update resource models in a package. re #3318
- Prevents resource model list search filter panel from extending under nav bar when resource names are long and user is logged out. re #3124
- Loads a package settings file for package specific settings. re #3377
- Exports package settings when updating or creating a package. re #3377
- Adds ability to order business data loading packages. re #3268
- Migrates to yarn from bower, re: #2916
- Displays an alert if a user tries to open a report for a resource model that does not have an active report template. re #3118
- Moves map related context data into a MapBaseManager view to improve performance on mapless pages. re #3113
- Reduces database queries. re #3015
- Removes unused model properties from payload. re #3202
- Adds command to ease updating a project to the latest.
- Adds app title setting to project template (needed to update title on index page)
- Several dependencies were updated including (but not limited to):
- jquery: 2.2.1 -> 3.3.1
- mapbox-gl: 0.40.1 -> 0.45.0
- mapbox-gl-draw: 1.0.2 -> 1.0.8
- backbone: 1.1.2 -> 1.3.3
- django: 1.11.6 -> 1.11.10
- mapbox-vector-tile: 0.5.0 -> 1.2.0