Skip to content

Release Candidate v2.3.0#311

Merged
jonrandahl merged 33 commits intopreprodfrom
dev
Jan 19, 2026
Merged

Release Candidate v2.3.0#311
jonrandahl merged 33 commits intopreprodfrom
dev

Conversation

@jonrandahl
Copy link
Contributor

@jonrandahl jonrandahl commented Jan 15, 2026

Deploy Target: Pre-Prod (Release Candidate)

Tip

This is a release candidate PR. All changes have been reviewed and merged
into dev. Approval confirms the version and changes are ready for testing
before production release.

Summary

Modernised the front-end stack by migrating from deprecated Ruby Sass
(sass-rails / bootstrap-sass) to Dart Sass with Bootstrap 5 support,
resolved gem versioning warnings, and improved UI/UX across the application.

Relates to #308, #309

Changes

  • Replaced bootstrap-sass with bootstrap gem for Dart Sass compatibility
  • Added dartsass-sprockets gem for Rails integration
  • Updated stylesheets to use Sass modules (@use 'sass:color' instead of deprecated lighten)
  • Removed sass-rails gem and deprecated dependencies
  • Modernised modals and forms to Bootstrap 5 notation (data-bs-dismiss attributes)
  • Converted form groups to semantic fieldsets for improved accessibility
  • Enhanced error page layout with additional status messages (403, 422)
  • Improved page layout padding and form spacing
  • Enhanced action buttons responsiveness with flexbox
  • Added cookie banner styling using Bootstrap conventions
  • Added Popper.js dependency for Bootstrap functionality
  • Added Autoprefixer initialiser for source map support
  • Resolved open-ended gem versioning warnings with explicit version minimums for Faraday dependencies
  • Updated faraday-follow_redirects to 0.4.0
  • Updated lr_common_styles gem to v3.0.0 (Bootstrap 5)
  • Updated data_services_api gem to v1.6.1
  • Enabled Sass source maps in development for easier front-end debugging
  • Added update Makefile target to check outdated dependencies
  • Streamlined Makefile with inline help documentation
  • Cleaned up startup log output formatting
  • Removed duplicated _search-form.scss partial (consolidated into _workflow-actions.scss)

Breaking Changes

This release updates Bootstrap from 3.x to 5.x via the lr_common_styles gem
v3.0.0. Ensure any downstream dependencies or custom styling are compatible
with Bootstrap 5.

Checklist

Testing

  • Manual testing completed
  • No regressions introduced

Build & Assets

  • Assets compile successfully
  • Linting passes (rubocop)
  • Docker image builds successfully

Process & Quality

  • Changelog updated

Full Changelog: v2.2.3...v2.3.0

- Prevents open-ended gem versioning warnings by setting explicit minimum versions for Faraday and its middleware dependencies.
- Updates Faraday follow_redirects to 0.4.0
- Resolve open-ended gem versioning warnings by setting explicit minimum versions for Faraday and its middleware dependencies.
- Update Faraday follow_redirects to 0.4.0.
- Replaces sass-rails with dartsass-sprockets to align with modern best practices for Sass compilation in Rails.
- Replaces the `bootstrap-sass` gem with the official `bootstrap` gem for improved compatibility and maintainability.
- Includes `autoprefixer-rails` to handle vendor prefixes automatically.
- Configures Autoprefixer to generate source maps to simplify CSS debugging.
- Registers a custom processor to handle source map generation.
- Installs and uninstalls the custom processor to ensure it's used correctly within the asset pipeline.
- Enables SASS source maps in the development environment for easier CSS debugging.
- Sets SASS output style to compressed for smaller file sizes
- Disables SASS source maps in production for better performance
- Updates stylesheet for better readability and consistency
- Converts font-size declaration to use rem units for better scalability
- Adjusts spacing and alignment of elements
- Refactors the application stylesheet by updating the import syntax for increased clarity.
- Removes the now redundant `sass-rails` dependency as part of the spike.
Updates styles in the ppd.scss file following the removal of Sass.

- Adjusts font sizes for headings to ensure consistent typography across different screen sizes.
- Modifies form group display to utilise flexbox for improved layout control and spacing.
- Updates label styles for better alignment and consistency, especially for checkboxes, radio buttons, and date inputs.
- Refines form control styling, including width, height, padding, and font size, for a more uniform appearance.
- Styles list-inline elements within forms to use inline-flex with a gap for consistent spacing.
- Enhances input group addon styling, extending input group text and adjusting padding.
- Aligns radio and checkbox elements within horizontal forms for improved visual consistency.
- Modifies modal styling, setting a fixed width and adjusting padding and font sizes.
- Improves modal header and footer alignment and styling.
- Updates close button appearance for consistency.
- Styles the help modal's dl-horizontal element using flexbox for improved layout and spacing.
- Updates the data attributes for dismissing modals to be compatible with Bootstrap 5.
- Replaces the default button style with an outline style for visual consistency.
- Wraps the email address in a span element.
- Allows for more flexible layout of the email address, integrating it from the surrounding paragraph visually.
- Changes `div.form-group` to `fieldset.form-group` for semantic correctness.
- Adds a legend to the fieldset to improve accessibility.
- Updates the date input field to use a fieldset, improving its grouping and accessibility.
- Replaces `bootstrap-sass` with the `bootstrap` gem for Dart Sass compatibility.
- Adds Sass source maps for easier debugging in development.
- Includes a custom initialiser to handle Autoprefixer complexities with the latest Bootstrap gem.
- Modernises application stylesheets and formats styles for consistency after the Sass migration.
- Improves asset compression settings for smaller, faster-loading bundles.
- Updates modal dismissal behaviour and form grouping following Bootstrap notation for cleaner markup and better usability.
- Removes duplicated _search_form partial file and its import from the application stylesheet.
- Simplifies updates for components in future
- Restores Popper.js as a dependency for Bootstrap.
- Enhances the responsiveness of action buttons across different screen sizes.
- Improves the alignment and spacing of actions within forms.
- Adjusts button widths to optimise space usage on both small and larger screens.
- Replaces the `lighten` function with `color.adjust` for better Sass compatibility, mitigating deprecation warnings.
- Removes media query from heading styles.
- Removes the need for extending the input-group-text class.
- Update form styles for consistency and responsiveness across screen sizes, improving the user interface.
- Removes the duplicate `dartsass-sprockets` inclusion.
- Moves local gem path block into development block
- Prevents SASS deprecation warnings from cluttering the logs when using dependencies.
- Provides a cleaner output, aiding in debugging and overall application maintainability.
- Introduces consistent padding to page elements for enhanced visual appeal
- Modifies form group spacing for better readability
- Adjusts column widths for improved responsiveness
- Restores basic styling for the cookie banner component.
- Ensures the banner uses a standard sans-serif font stack for readability.
- Applies padding and a bottom border to visually separate the banner.
- Only appends url info if it exists which cleans up the trailing whitespace in current log
- Configures the application to silence SASS deprecation warnings to  assist in a smoother transition when migrating away from `@import` syntax to newer `@use` and `@forward` rules.
- Also cleans up application required modules by removing unused instead of commenting out
- Removes the sass-rails gem and related dependencies.
- Cleans up unused dependencies.
- Introduces a new `update` task that checks for outdated dependencies.
- Uses `yarn upgrade-interactive` if Yarn is being used.
- Runs `bundle outdated --only-explicit` to check Ruby gems.
- Unifies approach to help keep dependencies up to date.
- Unifies the Makefile to streamline the build and deployment processes.
- Introduces scripted `help` target approach
- Refactors targets for clarity and adds documentation through inline comments, providing help messages for each target.
- Simplifies asset compilation and cleaning processes for improved maintainability.
- Reorganises targets for readability
- Mirrors approach in other LR Apps
- Wraps the error page content in a row and column structure for better layout and responsiveness.
- Adds a specific message for the 422 status code, improving user guidance.
- Changes "Forbidden" to "Request denied" for clearer communication of access restrictions.
- Prevents future commits of local TODO files.
- Replaces Ruby Sass with Dart Sass and updates the Bootstrap gem to align with modern front-end tooling.
- Modernises stylesheets to be compatible with the new Sass toolchain and Bootstrap conventions.
- Improves asset compression to reduce bundle sizes and load times.
- Updates modal dismissal behaviour and form styling to match the latest Bootstrap notation, enhancing usability.
- Converts form groups to semantic fieldsets to improve accessibility.
- Enhances error page layout and status messages for a better user experience.
- Adds `update` Makefile target for dependency management.
- Removes deprecated dependencies and duplicated partials to streamline the codebase.

docs: Updates CHANGELOG with release notes for version 2.3.0

Relates to #309
jonrandahl and others added 3 commits January 14, 2026 15:52
## Summary

Migrated CSS tooling from deprecated `bootstrap-sass` to `bootstrap` gem
with
Dart Sass compatibility, modernising stylesheets and improving asset
pipeline.

Specific to ticket #309

## Changes

- Replaced `bootstrap-sass` with `bootstrap` gem for Dart Sass
compatibility
- Enabled Sass source maps for front-end debugging
- Added Popper.js and Autoprefixer dependencies for Bootstrap 5
- Updated modals and forms to Bootstrap 5 notation
- Improved error page layout, form accessibility, and action buttons
- Streamlined Makefile with inline help and `update` target
- Removed deprecated `sass-rails` gem

## Breaking Changes

None

## Checklist

### Testing
- [ ] ~~Unit tests added/updated~~
- [x] Manual testing completed
- [x] No regressions introduced

### Build & Assets
- [x] Assets compile successfully
- [x] Linting passes (rubocop, eslint)
- [x] Docker image builds successfully

### Process & Quality
- [x] Changelog updated
- [ ] ~~Documentation updated~~
- Resolves open-ended gem versioning warnings by setting explicit
minimum versions for `Faraday` and its middleware dependencies.
- Updates `Faraday follow_redirects` to `0.4.0`.
@jonrandahl jonrandahl marked this pull request as ready for review January 16, 2026 11:16
@jonrandahl jonrandahl self-assigned this Jan 16, 2026
@jonrandahl jonrandahl merged commit 5f7d12c into preprod Jan 19, 2026
3 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.

2 participants