Skip to content

Task: Release candidate v2.2.3#304

Merged
jonrandahl merged 43 commits intopreprodfrom
dev
Nov 13, 2025
Merged

Task: Release candidate v2.2.3#304
jonrandahl merged 43 commits intopreprodfrom
dev

Conversation

@jonrandahl
Copy link
Contributor

This pull request introduces a new release (2.2.3) focused on modernising the codebase, improving security, updating dependencies, and cleaning up the test suite through the following tickets:

This is a release PR, so just needs sign-off.

Use git merge --ff-only if possible.

What's changed

significant changes

  • Upgrades Ruby on Rails and core libraries for security, performance and compatibility
  • Updates test framework setup, removing deprecated styles and unused gems
  • Refactors Sentry error reporting; updates for SDK v6 and simplifies config
  • Removes deprecated timezone config for future framework compatibility

other changes

  • Modernises test assertions to use up-to-date minitest syntax
  • Bumps multiple dependencies including Selenium, Puma, Faraday and JSON
  • Adds explicit CSV dependency to ensure compatibility with latest Ruby
  • Cleans up and improves logging configuration in test and main environments
  • Updates and reformats changelog for clarity and adherence to release standards
  • Removes unnecessary or legacy code and commented-out rules

jonrandahl and others added 30 commits October 22, 2025 18:32
- Sets log level from environment with 'info' default
- Initialises structured logger only when level is debug
- Applies log level before logger setup for correctness
- Removes duplicate log level configuration
- Standardises release notes and version histories
- Switches to a more structured markdown changelog format
- Removes previous ad hoc notes in favour of consistent entries
- Adjusts test environment to display fewer logs unless debugging
- Ensures test logging respects configured log level for clarity
- Helps reduce noise during standard test runs
This pull request improves logging configuration and documentation for
the project. The main changes include updating the `CHANGELOG.md` to
follow the Keep a Changelog format and adjusting the test environment’s
logging behavior to respect the log level set via environment variables,
reducing unnecessary logs unless debugging.

**Documentation and changelog improvements:**
* Refactored `CHANGELOG.md` to use the Keep a Changelog format, grouping
changes by version and type (Added, Changed, Fixed, Security, Removed),
and documenting notable updates for each release.

**Logging configuration enhancements:**
* In `config/environments/test.rb`, changed the default log level to
`'info'` (instead of `'debug'`) unless overridden by the `LOG_LEVEL`
environment variable, reducing log output in tests unless debugging is
explicitly enabled.
* Updated logger initialization to only use the `JsonRailsLogger` when
the log level is set to `:debug`, further minimizing unnecessary logging
in test runs.
- Change constrained versions to minimum versions
- Update configuration to allow more flexible dependency selection
- Bump major and minor versions of the primary framework and its core dependencies
- Update all direct and transitive dependencies to match new framework requirements
- Add a new direct dependency in the stack as required by dependencies
- Cover all parts of the framework: core, storage, job, view, text, and support
- Update development tool versions for compatibility
- Synchronise downstream dependency versions to prevent mismatches
- Change compatibility constraints for testing gems to fit new versions
- Bump patch and minor versions for supporting libraries
- Synchronise runtime, dev, and utility gems with upstream
- Narrow compatibility range for styling and template packages
- Lightly adjust the version of the core style library
- Update faraday to latest minor version
- Ensure compatibility with updated faraday-net_http and logger
- Keep deps current for improved functionality
- Bump json gem to a newer version for nested data handling
- Raise net-http gem version to latest patch
- Follow security and performance improvements from upstream
- Update logger dependency to the latest minor release
- Improve compatibility and gain recent fixes
- Prepare for potential new features from upstream
- Cleans up testing dependencies by dropping unnecessary gem
- Simplifies test setup and reduces maintenance overhead
- Include csv in the dependencies list
- Update lockfile to reflect csv addition
- Switch superclass to appropriate integration test base
- Restore MiniTest constant for compatibility
- Explicitly require related support gem
- Integrate capybara dsl into test base
- Ensure capybara sessions reset after each test
- Replace legacy negative assertions with standard refute
- Use modern assertion syntax in specs for better consistency
- Improve readability and future compatibility of tests
- Defer require for select test gems for flexibility
- Set up rails env and environment file loading earlier
- Add compatibility alias for legacy minitest constant use
- Add comments explaining ordering and intent in helpers
- Require minitest-vcr and minitest/spec in setup
- Switches from specialised assertion helpers to standard assertion macros
- Updates CSV array type and length checks to use assert_kind_of and assert_operator
- Makes assertions more consistent and less reliant on framework-specific syntax
- Changes expected values to argument-first order in equality assertions
- Replaces 'must_equal' and 'must_be' helpers with assert_equal and assert_operator
- Standardises core assertion approach
- Updates all equality and nil assertions to standard macros
- Changes from old-style helpers to assert_equal and refute_nil
- Applies changes throughout multiple nested and default hash behaviour tests
- Bump versions for performance and security
- Increase version for puma to latest release
- Update puma-metrics to match new dependency requirements
- Ensure compatibility in requirements for both packages
- Updates a frontend library to the latest patch version
- Ensures compatibility and includes minor bug fixes from upstream
- Upgrades monitoring tools to address compatibility and security
- Ensures better integration with current dependencies
- Prepares for upcoming platform and library changes
- Updates several packages to newer versions for improved security
- Addresses known vulnerabilities for compliance and stability
- Enhances compatibility with latest dependency versions
- Keeps development tools current and up to date
- Bumps several dependencies to include latest security patches
- Improves overall reliability by resolving known vulnerabilities
- Keeps components in sync with supported upstream versions
- Bumps language server and code analysis tool versions for latest features and fixes
- Relaxes version constraint on type signature tool to enhance compatibility
- Adds support utility for documentation
- Prepares for improved compatibility and potential vulnerability fixes
- Bumps component version to ensure compatibility with other libraries
- Addresses potential issues with outdated dependency
- Prepares project for future updates and security patches
- Removes unused browser test and driver dependencies
- Updates browser driver gems to latest versions
- Streamlines test group for more reliable dependency management
- Remove test gem for vcr integration and its dependencies
- Clean up references to vcr integration in dependency config
- Update gem group for tests
- Simplify dependency lock entries for fewer test deps
- Remove direct loading of removed test support lib
- Simplify initialisation of test helper for spec usage
- Drop compatibility code for removed integration
jonrandahl and others added 13 commits November 3, 2025 13:43
- Bumps documentation library version to address minor issues
- Ensures compatibility and improved developer experience
- Removes setting for legacy time zone preservation to clean up config
- Prepares for compatibility with future framework versions
- Update framework and core dependencies to address security issues
- Modernise test suite for improved compatibility and maintainability
- Remove unused test and integration dependencies
- Fix deprecation warnings and compatibility with latest versions
- Improve test logging for better clarity
- Add missing dependency for compatibility with newer language versions
- Reorganises mention of deprecated configuration removal
chore: update rack and related dependencies to address vulnerabilities

- Upgrade rack and web server related packages to resolve known security
issues
- Bump Ruby on Rails and core dependencies for latest security,
performance, and compatibility improvements
- Remove unused and deprecated test, browser, and assertion libraries to
simplify the test environment
- Modernise test assertions and migrate away from deprecated syntax for
improved maintainability
- Refine test helper setup and dependency loading for better
reliability, particularly with integration tests
- Update linting, test, security, and development tools to latest
compatible versions

> [!NOTE]
> Currently there is a "warning" in the start-up logs
> `Use 'after_stopped', 'on_stopped' is deprecated and will be removed
in v8`
> which is not caught by the JSON rails logger, that is from the
`puma-metrics` gem and outside of our control until the developer
releases an update accordingly. I've created a ticket here for
follow-up: epimorphics/front-end-backlog#71

Relates to #300
- Switches logger level setting to align with the new sdk requirements
- Prevents logging level misconfiguration due to recent sdk changes
- Supports smoother upgrade to the latest sentry integration
- Remove environment variable guard to always initialise error reporting
- Update comments to clarify behaviour and config expectations
- Ensure extra tags setup outside of previous conditional block
- Adjust documentation for config variable naming
- Keep config signature and exclusions unchanged
- Simplifies error reporting setup to always configure when available
- Updates logger configuration for new sdk standards
- Refactors settings for improved compatibility with sdk v6
refactor: update sentry error reporting configuration for sdk v6

- Always initialises error reporting when configuration is present
- Updates logger configuration for sdk v6 compatibility
- Simplifies setup and makes environment selection more explicit
- Adds changelog entries reflecting sentry configuration changes

Relates to #302
- Update version number to reflect new release
- Prepare for upcoming changes and improvements
- Add new release version entry with date
- Improve release tracking in documentation
- Cleans up unused CSS by deleting commented placeholder
- Simplifies the stylesheet to reduce clutter

Resolves #294
Copy link
Contributor

@joescottdave joescottdave left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@bogdanadrianmarc bogdanadrianmarc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@jonrandahl jonrandahl merged commit 995b0ca into preprod Nov 13, 2025
2 checks passed
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.

3 participants