Mainnet docs are version-pinned. Check each section's exact version in the sidebar; it can lag the newest upstream release.
Until now, we have used helpers to create transactions, send them with a provider, and parse the results. However, sometimes we must make custom transactions with specific inputs, outputs, witnesses, etc. In the next chapter, we will show how to use the Rust SDKs transaction builders to accomplish this.