diff --git a/CHANGELOG.md b/CHANGELOG.md index 6cb421438..35c3b6a73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,116 @@ # Fornjot - Changelog +## v0.47.0 (2023-06-20) + +### Library improvements + +Improvements to Fornjot libraries. + +#### `fj` + +- Add new `fj` crate as all-in-one interface to the whole kernel ([#1853]) +- Add standardized CLI for models ([#1860]) +- Compute tolerance manually, if not provided via CLI ([#1872]) + +#### `fj-core` + +- Add `Region` to share code between `Sketch` and `Face` ([#1828], [#1883]; thank you, [@A-Walrus]!) +- Make various cleanups ([#1830], [#1831]) +- Expand and update operations API ([#1850], [#1879], [#1884], [#1891]) +- Rename `fj-kernel` to `fj-core` ([#1852]) +- Compute AABB from boundary representation ([#1871], [#1886], [#1888]) +- Clean up `Reverse` ([#1885]) + +#### `fj-interop` + +- Clean up model-related code in `fj-interop` ([#1863], [#1864]) + +#### `fj-math` + +- Expand `Aabb` API ([#1870]) +- Add `Vector::from_component` and `Circle::aabb` ([#1887]) + +#### `fj-viewer` + +- Remove GUI code ([#1829]) +- Remove vestigial debug rendering code ([#1862]) +- Make more cleanups ([#1893], [#1898]) + +#### `fj-window` + +- Re-add `fj-window` crate ([#1837]) +- Work around crash when opening window ([#1849]) +- Rename `window::run` to `display` ([#1861]) +- Expect `Model` in `fj_window::display` ([#1865]) + +### Other changes + +Improvements that are not associated with a specific Fornjot library. + +- Update dependencies ([#1821], [#1827], [#1835], [#1845], [#1847], [#1858], [#1880], [#1897]) +- Execute the change in focus, towards building only a CAD kernel ([#1822], [#1823], [#1824], [#1836], [#1838], [#1846], [#1851], [#1889], [#1890], [#1892]) +- Upgrade to Rust 1.70.0 ([#1859]) +- Update README ([#1869], [#1881]) +- Update documentation ([#1882], [#1894], [#1899]) +- Determine crates to publish automatically ([#1900]) + +[#1821]: https://github.com/hannobraun/fornjot/pull/1821 +[#1822]: https://github.com/hannobraun/fornjot/pull/1822 +[#1823]: https://github.com/hannobraun/fornjot/pull/1823 +[#1824]: https://github.com/hannobraun/fornjot/pull/1824 +[#1827]: https://github.com/hannobraun/fornjot/pull/1827 +[#1828]: https://github.com/hannobraun/fornjot/pull/1828 +[#1829]: https://github.com/hannobraun/fornjot/pull/1829 +[#1830]: https://github.com/hannobraun/fornjot/pull/1830 +[#1831]: https://github.com/hannobraun/fornjot/pull/1831 +[#1835]: https://github.com/hannobraun/fornjot/pull/1835 +[#1836]: https://github.com/hannobraun/fornjot/pull/1836 +[#1837]: https://github.com/hannobraun/fornjot/pull/1837 +[#1838]: https://github.com/hannobraun/fornjot/pull/1838 +[#1845]: https://github.com/hannobraun/fornjot/pull/1845 +[#1846]: https://github.com/hannobraun/fornjot/pull/1846 +[#1847]: https://github.com/hannobraun/fornjot/pull/1847 +[#1849]: https://github.com/hannobraun/fornjot/pull/1849 +[#1850]: https://github.com/hannobraun/fornjot/pull/1850 +[#1851]: https://github.com/hannobraun/fornjot/pull/1851 +[#1852]: https://github.com/hannobraun/fornjot/pull/1852 +[#1853]: https://github.com/hannobraun/fornjot/pull/1853 +[#1858]: https://github.com/hannobraun/fornjot/pull/1858 +[#1859]: https://github.com/hannobraun/fornjot/pull/1859 +[#1860]: https://github.com/hannobraun/fornjot/pull/1860 +[#1861]: https://github.com/hannobraun/fornjot/pull/1861 +[#1862]: https://github.com/hannobraun/fornjot/pull/1862 +[#1863]: https://github.com/hannobraun/fornjot/pull/1863 +[#1864]: https://github.com/hannobraun/fornjot/pull/1864 +[#1865]: https://github.com/hannobraun/fornjot/pull/1865 +[#1869]: https://github.com/hannobraun/fornjot/pull/1869 +[#1870]: https://github.com/hannobraun/fornjot/pull/1870 +[#1871]: https://github.com/hannobraun/fornjot/pull/1871 +[#1872]: https://github.com/hannobraun/fornjot/pull/1872 +[#1879]: https://github.com/hannobraun/fornjot/pull/1879 +[#1880]: https://github.com/hannobraun/fornjot/pull/1880 +[#1881]: https://github.com/hannobraun/fornjot/pull/1881 +[#1882]: https://github.com/hannobraun/fornjot/pull/1882 +[#1883]: https://github.com/hannobraun/fornjot/pull/1883 +[#1884]: https://github.com/hannobraun/fornjot/pull/1884 +[#1885]: https://github.com/hannobraun/fornjot/pull/1885 +[#1886]: https://github.com/hannobraun/fornjot/pull/1886 +[#1887]: https://github.com/hannobraun/fornjot/pull/1887 +[#1888]: https://github.com/hannobraun/fornjot/pull/1888 +[#1889]: https://github.com/hannobraun/fornjot/pull/1889 +[#1890]: https://github.com/hannobraun/fornjot/pull/1890 +[#1891]: https://github.com/hannobraun/fornjot/pull/1891 +[#1892]: https://github.com/hannobraun/fornjot/pull/1892 +[#1893]: https://github.com/hannobraun/fornjot/pull/1893 +[#1894]: https://github.com/hannobraun/fornjot/pull/1894 +[#1897]: https://github.com/hannobraun/fornjot/pull/1897 +[#1898]: https://github.com/hannobraun/fornjot/pull/1898 +[#1899]: https://github.com/hannobraun/fornjot/pull/1899 +[#1900]: https://github.com/hannobraun/fornjot/pull/1900 + +[@A-Walrus]: https://github.com/A-Walrus + + ## v0.46.0 (2023-05-08) ### End-user improvements diff --git a/Cargo.lock b/Cargo.lock index 19bc05499..0c3d48357 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -786,7 +786,7 @@ dependencies = [ [[package]] name = "fj" -version = "0.46.0" +version = "0.47.0" dependencies = [ "clap", "fj-core", @@ -800,7 +800,7 @@ dependencies = [ [[package]] name = "fj-core" -version = "0.46.0" +version = "0.47.0" dependencies = [ "anyhow", "fj-interop", @@ -817,7 +817,7 @@ dependencies = [ [[package]] name = "fj-export" -version = "0.46.0" +version = "0.47.0" dependencies = [ "fj-interop", "fj-math", @@ -829,14 +829,14 @@ dependencies = [ [[package]] name = "fj-interop" -version = "0.46.0" +version = "0.47.0" dependencies = [ "fj-math", ] [[package]] name = "fj-math" -version = "0.46.0" +version = "0.47.0" dependencies = [ "approx 0.5.1", "decorum", @@ -849,7 +849,7 @@ dependencies = [ [[package]] name = "fj-viewer" -version = "0.46.0" +version = "0.47.0" dependencies = [ "bytemuck", "fj-interop", @@ -866,7 +866,7 @@ dependencies = [ [[package]] name = "fj-window" -version = "0.46.0" +version = "0.47.0" dependencies = [ "fj-interop", "fj-math", diff --git a/Cargo.toml b/Cargo.toml index 53faeb5ca..8162f14d0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,7 +32,7 @@ default-members = [ [workspace.package] -version = "0.46.0" +version = "0.47.0" edition = "2021" description = "Early-stage b-rep CAD kernel." @@ -45,41 +45,29 @@ categories = ["encoding", "mathematics", "rendering"] [workspace.dependencies.fj] -version = "0.46.0" +version = "0.47.0" path = "crates/fj" [workspace.dependencies.fj-core] -version = "0.46.0" +version = "0.47.0" path = "crates/fj-core" [workspace.dependencies.fj-export] -version = "0.46.0" +version = "0.47.0" path = "crates/fj-export" -[workspace.dependencies.fj-host] -version = "0.46.0" -path = "crates/fj-host" - [workspace.dependencies.fj-interop] -version = "0.46.0" +version = "0.47.0" path = "crates/fj-interop" [workspace.dependencies.fj-math] -version = "0.46.0" +version = "0.47.0" path = "crates/fj-math" -[workspace.dependencies.fj-operations] -version = "0.46.0" -path = "crates/fj-operations" - -[workspace.dependencies.fj-proc] -version = "0.46.0" -path = "crates/fj-proc" - [workspace.dependencies.fj-viewer] -version = "0.46.0" +version = "0.47.0" path = "crates/fj-viewer" [workspace.dependencies.fj-window] -version = "0.46.0" +version = "0.47.0" path = "crates/fj-window" diff --git a/tools/automator/src/announcement.rs b/tools/automator/src/announcement.rs index cc6aedf30..7c32801c9 100644 --- a/tools/automator/src/announcement.rs +++ b/tools/automator/src/announcement.rs @@ -20,7 +20,6 @@ pub async fn create_release_announcement( let now = Utc::now(); let year = now.year(); - let week = format!("{:02}", now.iso_week().week()); let date = format!("{year}-{:02}-{:02}", now.month(), now.day()); let pull_requests_since_last_release = @@ -29,12 +28,13 @@ pub async fn create_release_announcement( let pull_requests = pull_requests_since_last_release.pull_requests.into_values(); - // For now, it's good enough to just release a new minor version every week. + // For now, it's good enough to just release a new minor version every time. // We could also determine whether there were breaking changes to make sure - // we actually need it, but as of now, breaking changes every week are - // pretty much a given. + // we actually need it, but as of now, breaking changes are pretty much a + // given. let mut version = pull_requests_since_last_release.version_of_last_release; version.minor += 1; + let version = version.to_string(); let min_dollars = 32; let for_readme = false; @@ -42,23 +42,15 @@ pub async fn create_release_announcement( .await? .as_markdown(min_dollars, for_readme)?; - let mut file = create_file(year, &week).await?; - generate_announcement( - &week, - date, - version.to_string(), - sponsors, - pull_requests, - &mut file, - ) - .await?; + let mut file = create_file(&version).await?; + generate_announcement(date, version, sponsors, pull_requests, &mut file) + .await?; Ok(()) } -async fn create_file(year: i32, week: &str) -> anyhow::Result { - let dir = - PathBuf::from(format!("content/blog/weekly-release/{year}-w{week}")); +async fn create_file(version: &str) -> anyhow::Result { + let dir = PathBuf::from(format!("content/blog/release/{version}")); let file = dir.join("index.md"); // VS Code (and probably other editors/IDEs) renders the path in the output @@ -76,7 +68,6 @@ async fn create_file(year: i32, week: &str) -> anyhow::Result { } async fn generate_announcement( - week: &str, date: String, version: String, sponsors: String, @@ -134,8 +125,7 @@ async fn generate_announcement( buf, "\ +++ -# TASK: Replace the calendar week with a descriptive title. -title = \"Weekly Release - 2022-W{week}\" +title = \"Fornjot {version}\" # TASK: Uncomment this date, once the announcement is ready to be published. # date = {date} @@ -162,20 +152,13 @@ subtitle = \"This is a subtitle\" -### End-user improvements +### Library improvements -Improvements to Fornjot and its documentation that are visible to end users. +Improvements to Fornjot libraries. -**TASK: Add end-user improvements.** +#### `fj-core` - -### Ecosystem improvements - -Improvements to Fornjot components that are relevant to developers building on top of those. These have an indirect effect on end users, through fixed bugs and improved robustness. - -#### `fj-kernel` - -**TASK: Add ecosystem improvements.** +**TASK: Add library improvements.** ### Internal Improvements