Current section

53 Versions

Jump to

Compare versions

9 files changed
+256 additions
-26 deletions
  @@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7 7
8 8 ## [Unreleased]
9 9
10 + ## [0.7.1] - 2025-12-24
11 +
12 + ### Added
13 + - **Script ergonomics**`Snakepit.run_as_script/2` now supports `restart`, `await_pool`, and `halt` options plus configurable shutdown/cleanup timeouts.
14 + - **Example runner controls**`examples/run_all.sh` honors `SNAKEPIT_EXAMPLE_DURATION_MS` and `SNAKEPIT_RUN_TIMEOUT_MS`.
15 + - **Examples bootstrap helper**`Snakepit.Examples.Bootstrap.run_example/2` centralizes pool readiness and script exit behavior.
16 +
17 + ### Changed
18 + - **Pooling defaults to opt-in**`pooling_enabled` now defaults to `false` to avoid auto-start surprises in scripts.
19 + - **Examples cleanup** – bidirectional and documentation-only examples now shut down cleanly under both `mix run` and `run_all.sh`.
20 +
21 + ### Fixed
22 + - **Mix-run config drift** – examples now restart Snakepit to apply script-level env overrides, preventing port mismatches and orphaned workers.
23 +
10 24 ## [0.7.0] - 2025-12-22
11 25
12 26 ### Added
unknownREADME.md
File is too large to be displayed (100 KB limit).
  @@ -50,6 +50,7 @@ mix test test/unit/logger/redaction_test.exs # Log reda
50 50 # Run Python pytest suites only (auto-manages .venv, installs/updates deps, regenerates protos)
51 51 ./test_python.sh
52 52 ./test_python.sh -k streaming # Any args are forwarded to pytest
53 + # No manual venv activation needed; the script handles creation/updates.
53 54 # The Python requirements now include pytest-asyncio so coroutine-based tests (e.g., heartbeat client)
54 55 # run without extra configuration.
55 56 ```
  @@ -9,7 +9,7 @@
9 9 {<<"gRPC Streaming Guide">>,
10 10 <<"https://hexdocs.pm/snakepit/README_GRPC.html">>}]}.
11 11 {<<"name">>,<<"snakepit">>}.
12 - {<<"version">>,<<"0.7.0">>}.
12 + {<<"version">>,<<"0.7.1">>}.
13 13 {<<"description">>,
14 14 <<"High-performance pooler and session manager for external language integrations.\nSupports Python, Node.js, Ruby, and more with gRPC streaming, session management,\nand production-ready process cleanup.">>}.
15 15 {<<"elixir">>,<<"~> 1.18">>}.
  @@ -501,9 +501,6 @@ defmodule Mix.Tasks.Diagnose.Scaling do
501 501 IO.puts("\n" <> String.duplicate("-", 60))
502 502 IO.puts("🔬 Testing #{count} workers...")
503 503
504 - # Small delay between tests
505 - :timer.sleep(2000)
506 -
507 504 before_metrics = capture_metrics()
508 505
509 506 # Try to start a worker
Loading more files…