diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e0e0fe08..c284a26e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,9 +24,9 @@ jobs: - uses: actions-rs/cargo@v1 with: command: test - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v5 with: - python-version: '3.8' + python-version: '3.12' architecture: 'x64' - run: cargo test --features rp - run: cargo test --features jem @@ -36,7 +36,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-11] + os: [macos-latest] env: DO_DOCKER: 0 steps: @@ -50,10 +50,9 @@ jobs: - uses: actions-rs/cargo@v1 with: command: test - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v5 with: - python-version: '3.8' - architecture: 'x64' + python-version: '3.12' - run: cargo test --features rp - run: cargo test --features jem - run: bash ./ci/script.sh diff --git a/.github/workflows/dox.yml b/.github/workflows/dox.yml index 974068d1..2ebe1d25 100644 --- a/.github/workflows/dox.yml +++ b/.github/workflows/dox.yml @@ -14,9 +14,9 @@ jobs: - uses: actions/checkout@v2 # Install sphinx - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v5 with: - python-version: '3.8' + python-version: '3.12' - name: Build and deploy docs run: bash ci/sphinx-documentation.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index 076bda35..f36ba7a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,18 @@ Note: This is the main Changelog file for the Rust solver. The Changelog file fo --------------------- --> + +## [v0.9.1] - 2024-08-14 + + +### Fixed + +- Order of dependencies in `Cargo.toml` fixes crate-not-found issue on Windows + + + @@ -286,6 +298,7 @@ This is a breaking API change. --------------------- --> +[v0.9.1]: https://github.com/alphaville/optimization-engine/compare/v0.9.0...v0.9.1 [v0.9.0]: https://github.com/alphaville/optimization-engine/compare/v0.8.1...v0.9.0 [v0.8.1]: https://github.com/alphaville/optimization-engine/compare/v0.8.0...v0.8.1 [v0.8.0]: https://github.com/alphaville/optimization-engine/compare/v0.7.7...v0.8.0 diff --git a/Cargo.toml b/Cargo.toml index ae50f398..706d9f50 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -42,7 +42,7 @@ homepage = "https://alphaville.github.io/optimization-engine/" repository = "https://github.com/alphaville/optimization-engine" # Version of this crate (SemVer) -version = "0.9.0" +version = "0.9.1" edition = "2018" @@ -94,20 +94,18 @@ rpmalloc = { version = "0.2", features = [ "statistics", ], optional = true } -# jemallocator is an optional feature; it will only be loaded if the feature -# `jem` is used (i.e., if we compile with `cargo build --features jem`) -[target.'cfg(not(target_env = "msvc"))'.dependencies] -jemallocator = { version = "0.5", optional = true } - - # computation of roots of cubic equation needed for the projection on the # epigraph of the squared Euclidean norm roots = "0.0.8" # Least squares solver -ndarray = { version = "0.15", features = ["approx"] } +ndarray = { version = "0.16", features = ["approx"] } modcholesky = "0.1" +# jemallocator is an optional feature; it will only be loaded if the feature +# `jem` is used (i.e., if we compile with `cargo build --features jem`) +[target.'cfg(not(target_env = "msvc"))'.dependencies] +jemallocator = { version = "0.5", optional = true } # -------------------------------------------------------------------------- # F.E.A.T.U.R.E.S. diff --git a/ci/script.sh b/ci/script.sh index 04cb472a..91a72407 100755 --- a/ci/script.sh +++ b/ci/script.sh @@ -33,7 +33,7 @@ regular_test() { pip install virtualenv # --- create virtualenv - virtualenv -p python3.8 venv + virtualenv -p python3.12 venv # --- activate venv source venv/bin/activate diff --git a/open-codegen/CHANGELOG.md b/open-codegen/CHANGELOG.md index 81a2df78..1fb805ea 100644 --- a/open-codegen/CHANGELOG.md +++ b/open-codegen/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/). Note: This is the Changelog file of `opengen` - the Python interface of OpEn +## [0.8.1] - 2024-07-17 + +### Added + +* Python direct interface support for ARM-based Macs +* Updated GitHub Actions to use the macos-latest runner +* Updated GitHub Actions to use Python3.12 (required for above) + ## [0.8.0] - 2024-03-20 ### Added @@ -185,6 +193,7 @@ Note: This is the Changelog file of `opengen` - the Python interface of OpEn * Project-specific `tcp_iface` TCP interface * Fixed `lbfgs` typo +[0.8.1]: https://github.com/alphaville/optimization-engine/compare/v0.9.0...opengen-0.8.1 [0.8.0]: https://github.com/alphaville/optimization-engine/compare/opengen-0.7.1...opengen-0.8.0 [0.7.1]: https://github.com/alphaville/optimization-engine/compare/opengen-0.7.0...opengen-0.7.1 [0.7.0]: https://github.com/alphaville/optimization-engine/compare/opengen-0.6.13...opengen-0.7.0 diff --git a/open-codegen/VERSION b/open-codegen/VERSION index 8adc70fd..c18d72be 100644 --- a/open-codegen/VERSION +++ b/open-codegen/VERSION @@ -1 +1 @@ -0.8.0 \ No newline at end of file +0.8.1 \ No newline at end of file diff --git a/open-codegen/opengen/templates/python/cargo_config b/open-codegen/opengen/templates/python/cargo_config index 15d5d329..49314f34 100644 --- a/open-codegen/opengen/templates/python/cargo_config +++ b/open-codegen/opengen/templates/python/cargo_config @@ -3,3 +3,8 @@ rustflags = [ "-C", "link-arg=-undefined", "-C", "link-arg=dynamic_lookup", ] +[target.aarch64-apple-darwin] +rustflags = [ + "-C", "link-arg=-undefined", + "-C", "link-arg=dynamic_lookup", +] \ No newline at end of file diff --git a/open-codegen/setup.py b/open-codegen/setup.py index 3a19e60f..886b379b 100755 --- a/open-codegen/setup.py +++ b/open-codegen/setup.py @@ -35,7 +35,7 @@ exclude=["icasadi", "templates"]), include_package_data=True, install_requires=[ - 'jinja2', 'casadi', 'pyyaml', 'retry', 'numpy' + 'jinja2', 'casadi', 'pyyaml', 'retry', 'numpy', 'setuptools' ], classifiers=[ 'Development Status :: 4 - Beta',