Repository navigation
Tags
Tags
Prepare release 1.1.0 (#64) * Prepare release 1.1.0 Bump the version and date the changelog. Entries are regrouped so the changes that can affect an existing suite (table cells, parse errors, internal pipeline modules, ambiguity ordering) come first. * Bring the release process doc up to date Current CI toolchain (Elixir 1.20.4), placeholder versions in commands, checking the Hex session before validating, running the publish step in an interactive terminal, using a worktree for a clean main checkout, and gh release create for the release notes.
Release 0.9.1 Bug fixes: - Parser: comment lines no longer drop scenarios (anywhere blanks were valid, including interspersed within tag groups). - Parser: raise Gherkin.ParseError on partial parse instead of silently returning a truncated feature. Improvements: - Compiler: IO.warn when a feature compiles to zero scenarios, with a synthetic stacktrace pointing at the .feature file.
Fix: Ensure feature-level hooks execute before background steps (#4) * fix(hooks): ensure feature-level hooks execute before background steps Previously, hooks triggered by feature-level tags (e.g., @database) were executing after background steps, causing initialization failures when background steps required resources set up by those hooks. This fix separates hook execution into two phases: - Feature-level hooks run in ExUnit's setup block (before background) - Scenario-specific hooks run within individual tests (after background) The implementation uses smart filtering to prevent duplicate execution: hooks matching feature tags are excluded from scenario-level execution, ensuring each hook runs exactly once in the appropriate context. Changes: - Modified compiler to run feature-level hooks in setup block - Added scenario-specific hook functions that filter out feature hooks - Added context tracking for feature_tags vs scenario tags - Added comprehensive test coverage for hook execution order This ensures proper initialization order for database connections and other resources required by background steps, fixing issues reported when using @database or similar infrastructure tags at feature level. * refactor: address code review feedback - Extract shared setup logic into build_setup_block/3 helper function - Remove code duplication (~40 lines reduced) - Inline single-use needs_async_context?/1 function - Remove dangling comment about scenario tags - Fix duplicate module definition in hooks_test.exs - Add error handling for feature-level hook failures - Ensure consistent error propagation in setup blocks * chore: update dev dependencies * fix: prevent global hooks from running twice per scenario * refactor: simplify hooks by running all in setup block * docs: update hook documentation to reflect simplified architecture * refactor: use descriptive hook function names with duplicate detection * chore: prepare v0.4.2 release
PreviousNext