From f65bbc91ca5582c6ae4ed1b3f4a04919c01fac65 Mon Sep 17 00:00:00 2001 From: Louis-Marie Givel Date: Wed, 26 Nov 2025 14:17:03 +0100 Subject: [PATCH] Bump versions to 25.11.26 Prepare for release on crates.io Rename hyper-reverse-proxy to josh-reverse-proxy to avoid name conflict on crate.io --- Cargo.lock | 50 +++++++++---------- Cargo.toml | 15 +++++- hyper_cgi/Cargo.toml | 9 ++-- hyper_cgi/src/bin/hyper-cgi-test-server.rs | 2 +- josh-cli/Cargo.toml | 19 ++++--- josh-core/Cargo.toml | 11 ++-- josh-filter/Cargo.toml | 19 +++---- josh-graphql/Cargo.toml | 10 +++- josh-proxy/Cargo.toml | 25 +++++----- josh-proxy/src/bin/josh-proxy.rs | 2 +- .../Cargo.toml | 11 ++-- .../src/lib.rs | 0 josh-rpc/Cargo.toml | 8 ++- josh-ssh-shell/Cargo.toml | 10 +++- josh-templates/Cargo.toml | 12 +++-- josh-ui/Cargo.toml | 8 ++- josh-ui/README.md | 46 ----------------- 17 files changed, 128 insertions(+), 129 deletions(-) rename {hyper-reverse-proxy => josh-reverse-proxy}/Cargo.toml (61%) rename {hyper-reverse-proxy => josh-reverse-proxy}/src/lib.rs (100%) delete mode 100644 josh-ui/README.md diff --git a/Cargo.lock b/Cargo.lock index 1f487c808..1ac6592b9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1831,17 +1831,6 @@ dependencies = [ "want", ] -[[package]] -name = "hyper-reverse-proxy" -version = "0.0.1" -dependencies = [ - "bytes", - "http-body-util", - "hyper", - "hyper-tls", - "hyper-util", -] - [[package]] name = "hyper-staticfile" version = "0.10.1" @@ -1916,7 +1905,7 @@ dependencies = [ [[package]] name = "hyper_cgi" -version = "22.10.25" +version = "25.11.26" dependencies = [ "base64", "bytes", @@ -1925,8 +1914,8 @@ dependencies = [ "http-body", "http-body-util", "hyper", - "hyper-reverse-proxy", "hyper-util", + "josh-reverse-proxy", "rand 0.9.2", "tokio", "tokio-util", @@ -2159,8 +2148,8 @@ dependencies = [ ] [[package]] -name = "josh-cli" -version = "22.4.15" +name = "josh" +version = "25.11.26" dependencies = [ "anyhow", "clap", @@ -2168,8 +2157,6 @@ dependencies = [ "env_logger", "git2", "josh-core", - "josh-graphql", - "josh-templates", "juniper", "log", "rs_tracing", @@ -2179,7 +2166,7 @@ dependencies = [ [[package]] name = "josh-core" -version = "22.4.15" +version = "25.11.26" dependencies = [ "backtrace", "bitvec", @@ -2211,7 +2198,7 @@ dependencies = [ [[package]] name = "josh-filter" -version = "22.4.15" +version = "25.11.24" dependencies = [ "clap", "defer", @@ -2227,7 +2214,7 @@ dependencies = [ [[package]] name = "josh-graphql" -version = "0.1.0" +version = "25.11.26" dependencies = [ "chrono", "git2", @@ -2244,7 +2231,7 @@ dependencies = [ [[package]] name = "josh-proxy" -version = "22.4.15" +version = "25.11.26" dependencies = [ "base64", "bytes", @@ -2255,7 +2242,6 @@ dependencies = [ "hex", "http-body-util", "hyper", - "hyper-reverse-proxy", "hyper-staticfile", "hyper-tls", "hyper-util", @@ -2263,6 +2249,7 @@ dependencies = [ "indoc", "josh-core", "josh-graphql", + "josh-reverse-proxy", "josh-rpc", "josh-templates", "juniper", @@ -2290,9 +2277,20 @@ dependencies = [ "uuid", ] +[[package]] +name = "josh-reverse-proxy" +version = "25.11.26" +dependencies = [ + "bytes", + "http-body-util", + "hyper", + "hyper-tls", + "hyper-util", +] + [[package]] name = "josh-rpc" -version = "0.1.0" +version = "25.11.26" dependencies = [ "libc", "serde", @@ -2301,7 +2299,7 @@ dependencies = [ [[package]] name = "josh-ssh-shell" -version = "0.1.0" +version = "25.11.26" dependencies = [ "clap", "josh-rpc", @@ -2319,7 +2317,7 @@ dependencies = [ [[package]] name = "josh-templates" -version = "0.1.0" +version = "25.11.26" dependencies = [ "form_urlencoded", "git2", @@ -2332,7 +2330,7 @@ dependencies = [ [[package]] name = "josh-ui" -version = "0.1.0" +version = "25.11.26" dependencies = [ "dircpy", "npm_rs", diff --git a/Cargo.toml b/Cargo.toml index ea7a8d1e4..926a349e9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ resolver = "2" members = [ "hyper_cgi", - "hyper-reverse-proxy", + "josh-reverse-proxy", "josh-core", "josh-cli", "josh-filter", @@ -31,7 +31,18 @@ gix-hash = "0.19.0" gix-object = "0.50.2" gix-config = "0.47.1" gix-submodule = "0.21.0" -hyper-reverse-proxy = { path = "hyper-reverse-proxy", version = "0.0.1" } +hyper_cgi = { path = "hyper_cgi", version = "25.11.26" } +josh-cli = { path = "josh-cli", version = "25.11.26" } +josh-core = { path = "josh-core", version = "25.11.26" } +josh-filter = { path = "josh-filter", version = "25.11.26" } +josh-graphql = { path = "josh-graphql", version = "25.11.26" } +josh-proxy = { path = "josh-proxy", version = "25.11.26" } +josh-reverse-proxy = { path = "josh-reverse-proxy", version = "25.11.26" } +josh-rpc = { path = "josh-rpc", version = "25.11.26" } +josh-ssh-dev-server = { path = "josh-ssh-dev-server", version = "25.11.26" } +josh-ssh-shell = { path = "josh-ssh-shell", version = "25.11.26" } +josh-templates = { path = "josh-templates", version = "25.11.26" } +josh-ui = { path = "josh-ui", version = "25.11.26" } libc = "0.2.177" regex = "1.12.2" rs_tracing = { version = "1.1.0", features = ["rs_tracing"] } diff --git a/hyper_cgi/Cargo.toml b/hyper_cgi/Cargo.toml index 82875a5a8..1e32ed738 100644 --- a/hyper_cgi/Cargo.toml +++ b/hyper_cgi/Cargo.toml @@ -1,11 +1,12 @@ [package] name = "hyper_cgi" -version = "22.10.25" -authors = ["Christian Schilling ", "Louis-Marie Givel "] +version = "25.11.26" edition = "2024" + +repository = "https://github.com/josh-project/josh" +authors = ["Christian Schilling ", "Louis-Marie Givel "] license-file = "LICENSE" description = "Run CGI scripts with hyper" -repository = "https://github.com/josh-project/josh" readme = "README.md" [dependencies] @@ -21,7 +22,7 @@ http-body-util = "0.1.0" clap = { workspace = true, optional = true } base64 = { workspace = true, optional = true } rand = { version = "0.9.2", optional = true, features = ["std"] } -hyper-reverse-proxy = { workspace = true } +josh-reverse-proxy = { workspace = true } [lib] name = "hyper_cgi" diff --git a/hyper_cgi/src/bin/hyper-cgi-test-server.rs b/hyper_cgi/src/bin/hyper-cgi-test-server.rs index 9dea54faf..5d4bfd98d 100644 --- a/hyper_cgi/src/bin/hyper-cgi-test-server.rs +++ b/hyper_cgi/src/bin/hyper-cgi-test-server.rs @@ -150,7 +150,7 @@ async fn call( let client_ip = std::net::IpAddr::from_str("127.0.0.1").unwrap(); *req.uri_mut() = ppath.parse().unwrap(); println!("proxy {:?}", req.uri().path()); - return match hyper_reverse_proxy::call(client_ip, proxy_target, req).await { + return match josh_reverse_proxy::call(client_ip, proxy_target, req).await { Ok(response) => response, Err(error) => hyper::Response::builder() .status(hyper::StatusCode::INTERNAL_SERVER_ERROR) diff --git a/josh-cli/Cargo.toml b/josh-cli/Cargo.toml index 3dd151bba..962618b06 100644 --- a/josh-cli/Cargo.toml +++ b/josh-cli/Cargo.toml @@ -1,18 +1,17 @@ [package] -authors = ["Christian Schilling "] -description = "Josh CLI" +name = "josh" +version = "25.11.26" edition = "2024" -keywords = ["git", "monorepo", "workflow", "scm"] -license-file = "LICENSE" -name = "josh-cli" -readme = "../README.md" + repository = "https://github.com/josh-project/josh" -version = "22.4.15" +authors = ["Christian Schilling "] +license-file = "../LICENSE" +description = "CLI interface for josh" +readme = "../README.md" +keywords = ["git", "monorepo", "workflow", "scm"] [dependencies] -josh-core = { path = "../josh-core" } -josh-graphql = { path = "../josh-graphql" } -josh-templates = { path = "../josh-templates" } +josh-core = { workspace = true } anyhow = { workspace = true } env_logger = { workspace = true } log = { workspace = true } diff --git a/josh-core/Cargo.toml b/josh-core/Cargo.toml index 963e084c6..fd63ea104 100644 --- a/josh-core/Cargo.toml +++ b/josh-core/Cargo.toml @@ -1,13 +1,14 @@ [package] name = "josh-core" -version = "22.4.15" -repository = "https://ithub.com/josh-project/josh" +version = "25.11.26" +edition = "2024" + +repository = "https://github.com/josh-project/josh" authors = ["Christian Schilling "] -license-file = "LICENSE" -description = "GIT virtualization proxy" +license-file = "../LICENSE" +description = "Filtering for git repositories" keywords = ["git", "monorepo", "workflow", "scm"] readme = "../README.md" -edition = "2024" [dependencies] backtrace = "0.3.76" diff --git a/josh-filter/Cargo.toml b/josh-filter/Cargo.toml index 0c9ce0bbe..dc8b98b0e 100644 --- a/josh-filter/Cargo.toml +++ b/josh-filter/Cargo.toml @@ -1,18 +1,19 @@ [package] -authors = ["Christian Schilling "] -description = "GIT filter cli" +name = "josh-filter" +version = "25.11.24" edition = "2024" + +repository = "https://github.com/josh-project/josh" +authors = ["Christian Schilling "] +license-file = "../LICENSE" +description = "Low-level CLI interface for local Josh use" keywords = ["git", "monorepo", "workflow", "scm"] -license-file = "LICENSE" -name = "josh-filter" readme = "../README.md" -repository = "https://github.com/josh-project/josh" -version = "22.4.15" [dependencies] -josh-core = { path = "../josh-core" } -josh-graphql = { path = "../josh-graphql" } -josh-templates = { path = "../josh-templates" } +josh-core = { workspace = true } +josh-graphql = { workspace = true } +josh-templates = { workspace = true } env_logger = { workspace = true } serde_json = { workspace = true } defer = { workspace = true } diff --git a/josh-graphql/Cargo.toml b/josh-graphql/Cargo.toml index 8f4d4549e..ab6fd8859 100644 --- a/josh-graphql/Cargo.toml +++ b/josh-graphql/Cargo.toml @@ -1,10 +1,16 @@ [package] name = "josh-graphql" -version = "0.1.0" +version = "25.11.26" edition = "2024" +repository = "https://github.com/josh-project/josh" +authors = ["Christian Schilling "] +license-file = "../LICENSE" +description = "GraphQL API for josh" +readme = "../README.md" + [dependencies] -josh-core = { path = "../josh-core" } +josh-core = { workspace = true } juniper = { workspace = true } git2 = { workspace = true } rs_tracing = { workspace = true } diff --git a/josh-proxy/Cargo.toml b/josh-proxy/Cargo.toml index ccc85b8f8..185ebdbf3 100644 --- a/josh-proxy/Cargo.toml +++ b/josh-proxy/Cargo.toml @@ -1,13 +1,14 @@ [package] +name = "josh-proxy" +version = "25.11.26" +edition = "2024" + +repository = "https://github.com/josh-project/josh" authors = ["Christian Schilling "] +license-file = "../LICENSE" description = "GIT virtualization proxy" -edition = "2024" -keywords = ["git", "monorepo", "workflow", "scm"] -license-file = "LICENSE" -name = "josh-proxy" readme = "../README.md" -repository = "https://github.com/josh-project/josh" -version = "22.4.15" +keywords = ["git", "monorepo", "workflow", "scm"] [dependencies] sha2 = "0.10.8" @@ -18,16 +19,16 @@ bytes = "1.11.0" clap = { workspace = true } futures = { workspace = true } hyper = { version = "1.8.1" } -hyper-reverse-proxy = { workspace = true } +josh-reverse-proxy = { workspace = true } hyper-staticfile = "0.10.0" hyper-tls = "0.6.0" -hyper_cgi = { path = "../hyper_cgi" } +hyper_cgi = { workspace = true } hyper-util = { version = "0.1.18", features = ["client", "client-legacy", "http1", "tokio"] } http-body-util = "0.1.0" indoc = "2.0.7" -josh-core = {path = "../josh-core" } -josh-templates = { path = "../josh-templates" } -josh-graphql = { path = "../josh-graphql" } +josh-core = { workspace = true } +josh-templates = { workspace = true } +josh-graphql = { workspace = true } percent-encoding = "2.3.1" regex = { workspace = true } reqwest = { workspace = true } @@ -42,7 +43,7 @@ tracing-opentelemetry = "0.32.0" tracing-subscriber = { workspace = true } url = "2.5.4" uuid = { version = "1.18.1", features = ["v4"] } -josh-rpc = { path = "../josh-rpc" } +josh-rpc = { workspace = true } tokio-util = { workspace = true } tempfile = { workspace = true } gix = { workspace = true } diff --git a/josh-proxy/src/bin/josh-proxy.rs b/josh-proxy/src/bin/josh-proxy.rs index 21e05cace..e775b5dd9 100644 --- a/josh-proxy/src/bin/josh-proxy.rs +++ b/josh-proxy/src/bin/josh-proxy.rs @@ -570,7 +570,7 @@ async fn handle_ui_request( // Proxy: can be used for UI development or to serve a different UI if let Some(proxy) = &ARGS.static_resource_proxy_target { let client_ip = IpAddr::from_str("127.0.0.1").unwrap(); - return match hyper_reverse_proxy::call(client_ip, proxy, req).await { + return match josh_reverse_proxy::call(client_ip, proxy, req).await { Ok(response) => Ok(erase(response)), Err(error) => Ok(Response::builder() .status(StatusCode::INTERNAL_SERVER_ERROR) diff --git a/hyper-reverse-proxy/Cargo.toml b/josh-reverse-proxy/Cargo.toml similarity index 61% rename from hyper-reverse-proxy/Cargo.toml rename to josh-reverse-proxy/Cargo.toml index 61171bfb3..2d789b6f5 100644 --- a/hyper-reverse-proxy/Cargo.toml +++ b/josh-reverse-proxy/Cargo.toml @@ -1,10 +1,13 @@ [package] -name = "hyper-reverse-proxy" -version = "0.0.1" +name = "josh-reverse-proxy" +version = "25.11.26" edition = "2024" -license = "MIT" -authors = ["Josh Project"] + +repository = "https://github.com/josh-project/josh" +authors = ["Louis-Marie Givel "] +license-file = "../LICENSE" +description = "RPC for josh SSH support" +readme = "../README.md" + [dependencies] serde = { workspace = true } tokio = { workspace = true } diff --git a/josh-ssh-shell/Cargo.toml b/josh-ssh-shell/Cargo.toml index cc12d34ef..485c87fe5 100644 --- a/josh-ssh-shell/Cargo.toml +++ b/josh-ssh-shell/Cargo.toml @@ -1,14 +1,20 @@ [package] name = "josh-ssh-shell" -version = "0.1.0" +version = "25.11.26" edition = "2024" +repository = "https://github.com/josh-project/josh" +authors = ["Vlad Ivanov "] +license-file = "../LICENSE" +description = "Custom shell for josh SSH support" +readme = "../README.md" + [dependencies] clap = { workspace = true } libc = { workspace = true } shell-words = "1.1.0" tokio = { workspace = true } -josh-rpc = { path = "../josh-rpc" } +josh-rpc = { workspace = true } serde_json = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true } diff --git a/josh-templates/Cargo.toml b/josh-templates/Cargo.toml index 88df189c5..c68b5da2d 100644 --- a/josh-templates/Cargo.toml +++ b/josh-templates/Cargo.toml @@ -1,12 +1,18 @@ [package] name = "josh-templates" -version = "0.1.0" +version = "25.11.26" edition = "2024" +repository = "https://github.com/josh-project/josh" +authors = ["Christian Schilling ", "Vlad Ivanov "] +license-file = "../LICENSE" +description = "Templates support for josh with handlebars syntax" +readme = "../README.md" + [dependencies] git2 = { workspace = true } -josh-core = { path = "../josh-core" } -josh-graphql = { path = "../josh-graphql" } +josh-core = { workspace = true } +josh-graphql = { workspace = true } juniper = { workspace = true } serde_json = { workspace = true } handlebars = "6.2.0" diff --git a/josh-ui/Cargo.toml b/josh-ui/Cargo.toml index d6922c968..1e30ce247 100644 --- a/josh-ui/Cargo.toml +++ b/josh-ui/Cargo.toml @@ -1,8 +1,14 @@ [package] name = "josh-ui" -version = "0.1.0" +version = "25.11.26" edition = "2024" +repository = "https://github.com/josh-project/josh" +authors = ["Christian Schilling "] +license-file = "../LICENSE" +description = "Web-based git UI using josh-proxy as a backend" +readme = "../README.md" + [build-dependencies] npm_rs = "1.0.0" dircpy = "0.3.19" diff --git a/josh-ui/README.md b/josh-ui/README.md deleted file mode 100644 index b87cb0044..000000000 --- a/josh-ui/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# Getting Started with Create React App - -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). - -## Available Scripts - -In the project directory, you can run: - -### `npm start` - -Runs the app in the development mode.\ -Open [http://localhost:3000](http://localhost:3000) to view it in the browser. - -The page will reload if you make edits.\ -You will also see any lint errors in the console. - -### `npm test` - -Launches the test runner in the interactive watch mode.\ -See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. - -### `npm run build` - -Builds the app for production to the `build` folder.\ -It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.\ -Your app is ready to be deployed! - -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. - -### `npm run eject` - -**Note: this is a one-way operation. Once you `eject`, you can’t go back!** - -If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. - -You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/).