From a3e98cac31766d3f2e737d4666ac26238b9f758f Mon Sep 17 00:00:00 2001 From: Konstantin Malanchev Date: Mon, 3 Nov 2025 12:50:37 -0500 Subject: [PATCH 1/8] Rust version 1.87 --- Cargo.toml | 6 +++--- ceres-solver-sys/Cargo.toml | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f4153a1..d0288a7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "ceres-solver" -version = "0.4.0" +version = "0.5.0" edition = "2021" readme = "README.md" description = "Safe Rust bindings for the Ceres Solver" repository = "https://github.com/light-curve/ceres-solver-rs" license = "MIT OR Apache-2.0" -rust-version = "1.67.0" +rust-version = "1.87.0" exclude = [".github"] [workspace] @@ -22,7 +22,7 @@ source = ["ceres-solver-sys/source"] default = ["system"] [dependencies.ceres-solver-sys] -version = "0.4.0" +version = "0.5.0" path = "./ceres-solver-sys" [dependencies.thiserror] diff --git a/ceres-solver-sys/Cargo.toml b/ceres-solver-sys/Cargo.toml index 098d018..e07e772 100644 --- a/ceres-solver-sys/Cargo.toml +++ b/ceres-solver-sys/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "ceres-solver-sys" -version = "0.4.2" +version = "0.5.0" edition = "2021" readme = "README.md" description = "Unsafe Rust bindings for the Ceres Solver" repository = "https://github.com/light-curve/ceres-solver-rs" license = "MIT OR Apache-2.0" -rust-version = "1.67.0" +rust-version = "1.87.0" [features] system = ["pkg-config"] @@ -20,12 +20,12 @@ path = "../ceres-solver-src" optional = true [dependencies.cxx] -version = "1,<=1.0.129" # 1.0.130 requires MSRV 1.70 +version = "1,<=1.0.187" features = ["c++17"] [build-dependencies] cmake = "0.1" -cxx-build = "1,<=1.0.129" # 1.0.130 requires MSRV 1.70 +cxx-build = "1,<=1.0.187" pkg-config = { version = "0.3", optional = true } [dev-dependencies] From 79a6b3f3c21dfc595be649aaa446146a8f62a4fb Mon Sep 17 00:00:00 2001 From: Konstantin Malanchev Date: Mon, 3 Nov 2025 12:58:20 -0500 Subject: [PATCH 2/8] sys: edition 2024 --- ceres-solver-sys/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ceres-solver-sys/Cargo.toml b/ceres-solver-sys/Cargo.toml index e07e772..2f0b09e 100644 --- a/ceres-solver-sys/Cargo.toml +++ b/ceres-solver-sys/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ceres-solver-sys" version = "0.5.0" -edition = "2021" +edition = "2024" readme = "README.md" description = "Unsafe Rust bindings for the Ceres Solver" repository = "https://github.com/light-curve/ceres-solver-rs" From fe1acb08387c8ae022dfafec2744fc9e59d78692 Mon Sep 17 00:00:00 2001 From: Konstantin Malanchev Date: Tue, 18 Nov 2025 14:22:21 -0500 Subject: [PATCH 3/8] CI: use 1.87 for MSRV tests --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3738a96..657a3ca 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -41,7 +41,7 @@ jobs: # glog/log_severity.h(57): fatal error C1189: #error: ERROR macro is defined. Define # GLOG_NO_ABBREVIATED_SEVERITIES before including logging.h. See the document for detail. os: [ "ubuntu-latest", "macos-latest" ] - rust_toolchain: [ "1.67", "stable" ] + rust_toolchain: [ "1.87", "stable" ] steps: - uses: actions/checkout@v4 @@ -73,7 +73,7 @@ jobs: matrix: # Help needed for Windows, vcpkg builds it, but I don't know how to make it discoverable os: [ "ubuntu-latest", "macos-latest" ] - rust_toolchain: [ "1.67", "stable" ] + rust_toolchain: [ "1.87", "stable" ] steps: - uses: actions/checkout@v4 From e96d05374905f79f944a2209d83e371aa70e5410 Mon Sep 17 00:00:00 2001 From: Konstantin Malanchev Date: Tue, 18 Nov 2025 14:23:59 -0500 Subject: [PATCH 4/8] cargo fmt --- Cargo.toml | 2 +- src/solver.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index d0288a7..60c7840 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ceres-solver" version = "0.5.0" -edition = "2021" +edition = "2024" readme = "README.md" description = "Safe Rust bindings for the Ceres Solver" repository = "https://github.com/light-curve/ceres-solver-rs" diff --git a/src/solver.rs b/src/solver.rs index 061ce4e..13f253f 100644 --- a/src/solver.rs +++ b/src/solver.rs @@ -3,7 +3,7 @@ use crate::error::SolverOptionsBuildingError; use crate::residual_block::ResidualBlockId; -use ceres_solver_sys::cxx::{let_cxx_string, UniquePtr}; +use ceres_solver_sys::cxx::{UniquePtr, let_cxx_string}; use ceres_solver_sys::ffi; pub use ceres_solver_sys::ffi::{ DenseLinearAlgebraLibraryType, DoglegType, DumpFormatType, LineSearchDirectionType, From 7cc0c9cf6763a5321949db2e59cab9ebf6d99fbb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 12 Dec 2025 21:30:18 +0000 Subject: [PATCH 5/8] Initial plan From e47ca9db1f9b42f699b6abd513b86d3c2179e101 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 01:24:35 +0000 Subject: [PATCH 6/8] Keep ceres-solver-sys on edition 2021 due to cxx 1.0.x incompatibility with edition 2024 Co-authored-by: hombit <1784493+hombit@users.noreply.github.com> --- ceres-solver-sys/Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ceres-solver-sys/Cargo.toml b/ceres-solver-sys/Cargo.toml index 2f0b09e..bf9a138 100644 --- a/ceres-solver-sys/Cargo.toml +++ b/ceres-solver-sys/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "ceres-solver-sys" version = "0.5.0" -edition = "2024" +edition = "2021" readme = "README.md" description = "Unsafe Rust bindings for the Ceres Solver" repository = "https://github.com/light-curve/ceres-solver-rs" license = "MIT OR Apache-2.0" -rust-version = "1.87.0" +rust-version = "1.67.0" [features] system = ["pkg-config"] From 5d157a12948cf7a9d76399321f2d48f6faa846c8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 01:36:28 +0000 Subject: [PATCH 7/8] Change to edition 2021 for all crates, keep MSRV 1.87 Co-authored-by: hombit <1784493+hombit@users.noreply.github.com> --- Cargo.toml | 2 +- src/solver.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 60c7840..d0288a7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ceres-solver" version = "0.5.0" -edition = "2024" +edition = "2021" readme = "README.md" description = "Safe Rust bindings for the Ceres Solver" repository = "https://github.com/light-curve/ceres-solver-rs" diff --git a/src/solver.rs b/src/solver.rs index 13f253f..061ce4e 100644 --- a/src/solver.rs +++ b/src/solver.rs @@ -3,7 +3,7 @@ use crate::error::SolverOptionsBuildingError; use crate::residual_block::ResidualBlockId; -use ceres_solver_sys::cxx::{UniquePtr, let_cxx_string}; +use ceres_solver_sys::cxx::{let_cxx_string, UniquePtr}; use ceres_solver_sys::ffi; pub use ceres_solver_sys::ffi::{ DenseLinearAlgebraLibraryType, DoglegType, DumpFormatType, LineSearchDirectionType, From a01b7ff89a37eb0a7ff84b53b86950f9facdf202 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 03:10:13 +0000 Subject: [PATCH 8/8] Update ceres-solver-sys MSRV to 1.87.0 Co-authored-by: hombit <1784493+hombit@users.noreply.github.com> --- ceres-solver-sys/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ceres-solver-sys/Cargo.toml b/ceres-solver-sys/Cargo.toml index bf9a138..e07e772 100644 --- a/ceres-solver-sys/Cargo.toml +++ b/ceres-solver-sys/Cargo.toml @@ -6,7 +6,7 @@ readme = "README.md" description = "Unsafe Rust bindings for the Ceres Solver" repository = "https://github.com/light-curve/ceres-solver-rs" license = "MIT OR Apache-2.0" -rust-version = "1.67.0" +rust-version = "1.87.0" [features] system = ["pkg-config"]