1pub mod changeset;
2pub mod config;
3pub mod enrichment;
4pub mod errors;
5pub mod filters;
6pub mod git;
7pub mod manifest;
8pub mod markdown;
9pub mod prerelease;
10pub mod publish;
11pub mod release;
12pub mod types;
13pub mod workspace;
14
15pub use changeset::{ChangesetInfo, load_changesets, parse_changeset, render_changeset_markdown};
17pub use config::Config;
18pub use enrichment::{
19 CommitInfo, GitHubUserInfo, detect_github_repo_slug, detect_github_repo_slug_with_config,
20 enrich_changeset_message, get_commit_hash_for_path,
21};
22pub use errors::{Result, SampoError, WorkspaceError};
23pub use filters::{filter_members, list_visible_packages, should_ignore_crate, wildcard_match};
24pub use git::current_branch;
25pub use manifest::{ManifestMetadata, update_manifest_versions};
26pub use markdown::format_markdown_list_item;
27pub use prerelease::{
28 VersionChange, enter_prerelease, exit_prerelease, restore_preserved_changesets,
29};
30pub use publish::{
31 is_publishable_to_crates_io, run_publish, tag_published_crate, topo_order,
32 version_exists_on_crates_io,
33};
34pub use release::{
35 build_dependency_updates, bump_version, create_dependency_update_entry,
36 create_fixed_dependency_policy_entry, detect_all_dependency_explanations,
37 detect_fixed_dependency_policy_packages, format_dependency_updates_message,
38 infer_bump_from_versions, run_release,
39};
40pub use types::{Bump, CrateInfo, DependencyUpdate, ReleaseOutput, ReleasedPackage, Workspace};
41pub use workspace::{discover_workspace, parse_workspace_members};
42
43#[cfg(test)]
44mod release_tests;