Arches 7.5.2 Release Notes
--------------------------

### Bug Fixes and Enhancements

- Fix bug where a Django auth group with no member causes 500 error in some views, #10702
- Fix long resource instance titles from being hidden #10605
- Add a generic celery task to run custom etl modules #10574
- Fix page break when domain value has apostrophe
- Avoid logging exceptions for tiles with None values #10607
- Persist node sort order on graph import #10669
- Fix error when requesting json-ld with url values #9190
- Fix 500 error in the user Profile view, #10708
- Add missing required asterisk to string widget #10749
- Fix Slick carousel plugin path so it can be used in the application #10778
- Fix incompatible version of datatables.net #10740
- Fix max file size warning in the file widget #10660
- Fix unsaved card edits persistence and highlighting #10027
- Fix URL label validation #10592
- Fix entry of URL labels after tile exists #8451

### Dependency changes:
```
Python:
    Upgraded:
        Django 4.2.10 > 4.2.11 (or <5.0.0)

JavaScript:
    Upgraded:
        datatables.net-bs ~1.13.11
        datatables.net-buttons ~2.4.3
        datatables.net-buttons-bs ~2.4.3
        datatables.net-responsive ~2.5.1
        datatables.net-responsive-bs ~2.5.1
```

This release relaxes the upper bound on Django to add compatibility with further Django 4.2.x patch releases without requiring a corresponding Arches patch release.

### Upgrading Arches

1. Upgrade to version 7.5.0 before proceeding. If upgrading from an earlier version, refer to the upgrade process in the [Version 7.5.0 release notes](https://github.com/archesproject/arches/blob/dev/7.5.x/releases/7.5.0.md)

2. Upgrade to Arches 7.5.2
    ```
    pip install --upgrade arches==7.5.2
    ```

3. Update the JavaScript dependencies and devDependencies:
    In the project's `package.json` file change arches from `stable/7.5.0` to `stable/7.5.2`:
    ```    
        "dependencies": {
            "arches": "archesproject/arches#stable/7.5.2",
        },
        "devDependencies": {
            "arches-dev-dependencies": "archesproject/arches-dev-dependencies#stable/7.5.2"
        }
    ```
    In in your terminal navigate to the directory with your project's package.json file. Then run:

        yarn install


4. Start your application server in a separate terminal if it's not already running. Your webpack build will not complete without your application server running.

5. In a different terminal navigate to the directory with your project's package.json file, run `yarn start` or `yarn build_development`. This will generate your `media/build` directory.
   - If running your project in development:
     -  `yarn start` will build the frontend of the application and then start a webpack development server
      - `yarn build_development` will build a development bundle for the frontend assests of the application -- this should complete in less than 2 minutes
    - If running your project in production:
      - `yarn build_production` This builds a production bundle. **takes up to 2hrs depending on resources**
      - Alternatively you can `cd ..` up a directory and run `python manage.py build_production`. This will create a production bundle of frontend assessts and also call `collectstatic`.


6. If you are running Arches on Apache, be sure to run:

    ```
    collectstatic
    ```
    and restart your server:
    ```
    sudo service apache2 reload
    ```
