Skip to content

fix: make port_bindings consistent with docker cli when publish_all_ports = true#885

Merged
DDtKey merged 1 commit intotestcontainers:mainfrom
T00fy:main
Nov 29, 2025
Merged

fix: make port_bindings consistent with docker cli when publish_all_ports = true#885
DDtKey merged 1 commit intotestcontainers:mainfrom
T00fy:main

Conversation

@T00fy
Copy link
Contributor

@T00fy T00fy commented Nov 29, 2025

See #884

@netlify
Copy link

netlify bot commented Nov 29, 2025

Deploy Preview for testcontainers-rust ready!

Name Link
🔨 Latest commit 938360a
🔍 Latest deploy log https://app.netlify.com/projects/testcontainers-rust/deploys/692b7233369bdc000816cd79
😎 Deploy Preview https://deploy-preview-885--testcontainers-rust.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@DDtKey DDtKey changed the title bug: make port_bindings consistent with docker cli when publish_all_ports = true fix: make port_bindings consistent with docker cli when publish_all_ports = true Nov 29, 2025
@DDtKey DDtKey enabled auto-merge (squash) November 29, 2025 23:07
@DDtKey
Copy link
Contributor

DDtKey commented Nov 29, 2025

Thank you! 👍

@DDtKey DDtKey merged commit 65a4754 into testcontainers:main Nov 29, 2025
19 of 31 checks passed
@github-actions github-actions bot mentioned this pull request Dec 1, 2025
DDtKey pushed a commit that referenced this pull request Dec 1, 2025
## 🤖 New release

* `testcontainers`: 0.25.2 -> 0.26.0 (⚠ API breaking changes)

### ⚠ `testcontainers` breaking changes

```text
--- failure enum_variant_added: enum variant added on exhaustive enum ---

Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/enum_variant_added.ron

Failed in:
  variant ClientError:CopyFromContainerError in /tmp/.tmpqTygAe/testcontainers-rs/testcontainers/src/core/client.rs:135
  variant ClientError:CopyFromContainerError in /tmp/.tmpqTygAe/testcontainers-rs/testcontainers/src/core/client.rs:135

--- failure inherent_method_missing: pub method removed or renamed ---

Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/inherent_method_missing.ron

Failed in:
  ContainerAsync::id, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:132
  ContainerAsync::ports, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:143
  ContainerAsync::get_host_port_ipv4, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:155
  ContainerAsync::get_host_port_ipv6, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:174
  ContainerAsync::get_bridge_ip_address, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:186
  ContainerAsync::get_host, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:224
  ContainerAsync::exec, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:232
  ContainerAsync::stop, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:299
  ContainerAsync::stdout, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:354
  ContainerAsync::stderr, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:364
  ContainerAsync::stdout_to_vec, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:372
  ContainerAsync::stderr_to_vec, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:381
  ContainerAsync::id, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:132
  ContainerAsync::ports, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:143
  ContainerAsync::get_host_port_ipv4, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:155
  ContainerAsync::get_host_port_ipv6, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:174
  ContainerAsync::get_bridge_ip_address, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:186
  ContainerAsync::get_host, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:224
  ContainerAsync::exec, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:232
  ContainerAsync::stop, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:299
  ContainerAsync::stdout, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:354
  ContainerAsync::stderr, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:364
  ContainerAsync::stdout_to_vec, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:372
  ContainerAsync::stderr_to_vec, previously in file /tmp/.tmpozwe0G/testcontainers/src/core/containers/async_container.rs:381

--- failure trait_method_added: pub trait method added ---

Description:
A non-sealed public trait added a new method without a default implementation, which breaks downstream implementations of the trait
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-item-no-default
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/trait_method_added.ron

Failed in:
  trait method testcontainers::runners::AsyncBuilder::build_image_with in file /tmp/.tmpqTygAe/testcontainers-rs/testcontainers/src/runners/async_builder.rs:11
```

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

## [0.26.0] - 2025-12-01

### Details
#### Bug Fixes
- Make port_bindings consistent with docker cli when publish_all_ports =
true
([#885](#885))

#### Features
- Support build options - `no_cache`, `skip_if_exists` and `buildargs`
([#856](#856))
- Support docker-compose
([#864](#864))
- Add target options with custom mode
([#878](#878))
- Support copying from containers
([#871](#871))

#### Miscellaneous Tasks
- Use bollard 0.19.4
([#870](#870))
- Update etcetera requirement from 0.10.0 to 0.11.0
([#869](#869))

#### Performance
- Replace `ulid` with `ferroid`'s ULID for better performance
([#829](#829))
- Update ferroid for better performance during encode/decode
([#879](#879))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants