From 58c378a94b9db0d928a7c1c5631ccf7fd406b8bf Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 12:20:13 +0000 Subject: [PATCH 01/17] chore: overhaul makefile workflows - Improve build and test automation steps - Add tasks for asset installation, linting, and variable printing - Refactor build, clean, and test steps for clarity - Enhance output messaging for better user feedback - Remove redundant install from test target --- Makefile | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 399592c..2f8e647 100644 --- a/Makefile +++ b/Makefile @@ -21,25 +21,33 @@ ${AUTH}: ${GEM}: ${SPEC} ./lib/${NAME}/version.rb gem build ${SPEC} +assets: + @echo "Installing assets for ${NAME} gem..." + @bundle install + @echo "Assets for ${NAME} gem are up to date." + auth: ${AUTH} -build: gem +build: clean gem + +clean: + @echo "Cleaning up ${NAME} gem..." + @bundle exec rake clean clobber + @rm -rf ${GEM} gem: ${GEM} @echo ${GEM} -test: gem - @bundle install - @bundle exec rake test +lint: + @echo "Running RuboCop for ${NAME} gem..." + @bundle exec rubocop + @echo "RuboCop checks completed." publish: ${AUTH} ${GEM} @echo Publishing package ${NAME}:${VERSION} to ${OWNER} ... @gem push --key github --host ${GPR} ${GEM} @echo Done. -clean: - @rm -rf ${GEM} - realclean: clean @rm -rf ${AUTH} @@ -47,3 +55,15 @@ tags: @echo name=${NAME} @echo owner=${OWNER} @echo version=${VERSION} + +test: assets gem + @bundle exec rake test + @echo "Tests completed successfully." + +vars: + @echo "NAME=${NAME}" + @echo "OWNER=${OWNER}" + @echo "VERSION=${VERSION}" + @echo "GEM=${GEM}" + @echo "GPR=${GPR}" + @echo "SPEC=${SPEC}" From 16d392d59bc90860dd12020ee9ada40aecb03d16 Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 12:20:13 +0000 Subject: [PATCH 02/17] fix: adjust middleware order - Move logger middleware to occur after error handling - Add clarifying comments on the middleware stack order --- lib/data_services_api/service.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/data_services_api/service.rb b/lib/data_services_api/service.rb index 96226db..492acbe 100644 --- a/lib/data_services_api/service.rb +++ b/lib/data_services_api/service.rb @@ -169,10 +169,12 @@ def create_http_connection(http_url, auth = false) # rubocop:disable Metrics/Met # instrument the request to log the time it takes to complete but only if we're in a Rails environment config.request :instrumentation, name: 'requests.api' if in_rails? config.request :retry, retry_options - with_logger_in_rails(config) config.response :json + # ! Since responses are processed by the middleware stack in reverse order config.response :raise_error + # ! Passing the logger in last ensures that errors are logged before the exception is raised. + with_logger_in_rails(config) end end From 272878dc073ca699b6ea006bdad2c53efae0a23e Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 12:22:47 +0000 Subject: [PATCH 03/17] chore: update bundler version for dependency management - Bumps tool version to address potential security issues - Ensures future compatibility with updated dependency requirements - Relates to addressing security vulnerabilities --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 16abc1c..6746179 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -126,4 +126,4 @@ DEPENDENCIES webmock BUNDLED WITH - 2.7.0 + 2.7.2 From 79e773bdb2e589ee60e3139de863d6519c4970e2 Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 12:46:21 +0000 Subject: [PATCH 04/17] fix: loosen faraday dependency constraints - Change faraday-related dependencies to use minimum versions - Avoid overly strict pinning to allow for compatible updates --- Gemfile.lock | 6 +++--- data_services_api.gemspec | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 6746179..272bd56 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,9 +3,9 @@ PATH specs: data_services_api (1.6.0) faraday (~> 2.13) - faraday-encoding (~> 0.0.6) - faraday-follow_redirects (~> 0.3.0) - faraday-retry (~> 2.0) + faraday-encoding (>= 0.0.6) + faraday-follow_redirects (>= 0.3.0) + faraday-retry (>= 2.0) json (~> 2.0) yajl-ruby (~> 1.4) diff --git a/data_services_api.gemspec b/data_services_api.gemspec index 87c74de..f840917 100644 --- a/data_services_api.gemspec +++ b/data_services_api.gemspec @@ -23,9 +23,9 @@ Gem::Specification.new do |spec| spec.metadata['rubygems_mfa_required'] = 'true' spec.add_dependency 'faraday', '~> 2.13' - spec.add_dependency 'faraday-encoding', '~> 0.0.6' - spec.add_dependency 'faraday-follow_redirects', '~> 0.3.0' - spec.add_dependency 'faraday-retry', '~> 2.0' + spec.add_dependency 'faraday-encoding', '>= 0.0.6' + spec.add_dependency 'faraday-follow_redirects', '>= 0.3.0' + spec.add_dependency 'faraday-retry', '>= 2.0' spec.add_dependency 'json', '~> 2.0' spec.add_dependency 'yajl-ruby', '~> 1.4' end From 93ae7c27d81fa1b28c60e87fa91c6425356b4e1a Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 12:55:39 +0000 Subject: [PATCH 05/17] chore: update task runner dependency - Bumps version to address security vulnerabilities - Keeps dependencies up to date for better performance and stability Relates to issue/27 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 272bd56..77a1d4d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -65,7 +65,7 @@ GEM public_suffix (6.0.2) racc (1.8.1) rainbow (3.1.1) - rake (13.3.0) + rake (13.3.1) regexp_parser (2.10.0) rexml (3.4.1) rubocop (1.79.0) From da77dc0e005d165cd5cb6aa5fbbb8465d4d6f60c Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 13:26:59 +0000 Subject: [PATCH 06/17] chore: tidy up gemspec and metadata - Refactor project metadata and links - Update gemspec dependency constraints for accuracy - Ensure correct project homepage, documentation, and changelog links - Improve gather of files for packaging --- data_services_api.gemspec | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/data_services_api.gemspec b/data_services_api.gemspec index f840917..6d41710 100644 --- a/data_services_api.gemspec +++ b/data_services_api.gemspec @@ -1,9 +1,6 @@ # frozen_string_literal: true -lib = File.expand_path('lib', __dir__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) - -require 'data_services_api/version' +require_relative 'lib/data_services_api/version' Gem::Specification.new do |spec| spec.name = 'data_services_api' @@ -12,20 +9,27 @@ Gem::Specification.new do |spec| spec.email = ['info@epimorphics.com'] spec.summary = 'Data Services API' spec.description = 'Ruby wrapper for Epimorphics Data Services API' - spec.homepage = 'https://github.com/epimorphics/data-API-ruby' + spec.homepage = 'https://github.com/epimorphics/data_services_api' spec.license = 'MIT' spec.required_ruby_version = '>= 3.4' - spec.files = `git ls-files -z`.split("\x0") + spec.files = Dir.glob('lib/**/*', File::FNM_DOTMATCH) + ['LICENSE.txt', 'README.md'] spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } + spec.extra_rdoc_files = Dir['README.md', 'CHANGELOG.md', 'LICENSE.txt'] spec.require_paths = ['lib'] - spec.metadata['rubygems_mfa_required'] = 'true' + spec.metadata = { + 'bug_tracker_uri' => 'https://github.com/epimorphics/data_services_api/issues', + 'changelog_uri' => 'https://github.com/epimorphics/data_services_api/blob/main/CHANGELOG.md', + 'documentation_uri' => 'https://www.rubydoc.info/gems/data_services_api', + 'homepage_uri' => spec.homepage, + 'rubygems_mfa_required' => 'true', + } - spec.add_dependency 'faraday', '~> 2.13' - spec.add_dependency 'faraday-encoding', '>= 0.0.6' - spec.add_dependency 'faraday-follow_redirects', '>= 0.3.0' - spec.add_dependency 'faraday-retry', '>= 2.0' + spec.add_dependency 'faraday', '~> 2.13', '>= 2.13.0' + spec.add_dependency 'faraday-encoding', '~> 0.0', '>= 0.0.6' + spec.add_dependency 'faraday-follow_redirects', '~> 0.3', '>= 0.3.0' + spec.add_dependency 'faraday-retry', '~> 2.0', '>= 2.0' spec.add_dependency 'json', '~> 2.0' spec.add_dependency 'yajl-ruby', '~> 1.4' end From db38b7fc4287f99379523b1c0aad04842eb7db79 Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 13:27:01 +0000 Subject: [PATCH 07/17] chore: align gem dependencies and naming - Add patch-level constraints to runtime dependencies - Sync runtime dependencies with gemspec requirements - Update package naming and instructions for accuracy --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index 62884e6..50f09e0 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' -# Specify your gem's dependencies in data-api.gemspec +# Specify the gem's runtime dependencies in data_services_api.gemspec gemspec gem 'byebug', group: %i[development test], require: false diff --git a/Gemfile.lock b/Gemfile.lock index 77a1d4d..d1c3e22 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,10 +2,10 @@ PATH remote: . specs: data_services_api (1.6.0) - faraday (~> 2.13) - faraday-encoding (>= 0.0.6) - faraday-follow_redirects (>= 0.3.0) - faraday-retry (>= 2.0) + faraday (~> 2.13, >= 2.13.0) + faraday-encoding (~> 0.0, >= 0.0.6) + faraday-follow_redirects (~> 0.3, >= 0.3.0) + faraday-retry (~> 2.0, >= 2.0) json (~> 2.0) yajl-ruby (~> 1.4) From 1ed2d45585278328c6849a12d36e99bae527be1d Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 13:27:01 +0000 Subject: [PATCH 08/17] chore: update development and lint dependencies - Bump versions for tools and lint libraries - Use latest syntax and minimum versions where required - Improve lint and json tool compatibility with ruby 3.4 --- Gemfile.lock | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index d1c3e22..7d8fb5e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -37,7 +37,7 @@ GEM faraday-retry (2.3.2) faraday (~> 2.0) hashdiff (1.2.0) - json (2.13.2) + json (2.16.0) json_expressions (0.9.0) language_server-protocol (3.17.0.5) lint_roller (1.1.0) @@ -58,17 +58,17 @@ GEM uri ostruct (0.6.3) parallel (1.27.0) - parser (3.3.9.0) + parser (3.3.10.0) ast (~> 2.4.1) racc - prism (1.4.0) + prism (1.6.0) public_suffix (6.0.2) racc (1.8.1) rainbow (3.1.1) rake (13.3.1) - regexp_parser (2.10.0) + regexp_parser (2.11.3) rexml (3.4.1) - rubocop (1.79.0) + rubocop (1.81.7) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -76,11 +76,10 @@ GEM parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.46.0, < 2.0) + rubocop-ast (>= 1.47.1, < 2.0) ruby-progressbar (~> 1.7) - tsort (>= 0.2.0) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.46.0) + rubocop-ast (1.48.0) parser (>= 3.3.7.2) prism (~> 1.4) ruby-progressbar (1.13.0) @@ -91,10 +90,9 @@ GEM simplecov_json_formatter (~> 0.1) simplecov-html (0.13.2) simplecov_json_formatter (0.1.4) - tsort (0.2.0) - unicode-display_width (3.1.4) - unicode-emoji (~> 4.0, >= 4.0.4) - unicode-emoji (4.0.4) + unicode-display_width (3.2.0) + unicode-emoji (~> 4.1) + unicode-emoji (4.1.0) uri (1.0.3) vcr (6.3.1) base64 From 6300a2284190d6b7033c0f993ff90def9de74dde Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 13:28:55 +0000 Subject: [PATCH 09/17] chore: update testing library to fix vulnerabilities - Bumps testing dependency to address security issues - Ensures compatibility with current libraries --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7d8fb5e..5c269cd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -44,7 +44,7 @@ GEM logger (1.7.0) minispec-metadata (2.0.0) minitest - minitest (5.25.5) + minitest (5.26.1) minitest-rg (5.3.0) minitest (~> 5.0) minitest-vcr (1.4.0) From b5e379db4e654ba26f4437cfdde2cbfc068dca99 Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 13:29:27 +0000 Subject: [PATCH 10/17] chore: update excon gem to address vulnerabilities - Bumps a core library version to patch known security issues --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5c269cd..3caaaba 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -22,7 +22,7 @@ GEM bigdecimal rexml docile (1.4.1) - excon (1.2.8) + excon (1.3.1) logger faraday (2.13.4) faraday-net_http (>= 2.0, < 3.5) From fce8d2b84e43b02df4d0993f49473881dfb7159a Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 13:30:05 +0000 Subject: [PATCH 11/17] chore: update mocha gem to address vulnerabilities - Bumps test dependency to latest patch to mitigate security risks --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3caaaba..b566495 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -51,7 +51,7 @@ GEM minispec-metadata (~> 2.0) minitest (>= 4.7.5) vcr (>= 2.9) - mocha (2.7.1) + mocha (2.8.0) ruby2_keywords (>= 0.0.5) mutex_m (0.3.0) net-http (0.6.0) From c970e8d9bbffa024ecdc01b8eedcaf38a193f054 Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 13:32:37 +0000 Subject: [PATCH 12/17] chore: update webmock to resolve vulnerabilities - Bumps several library versions to address security concerns - Ensures compatibility and addresses known issues reported like rexml - Reduces risk by using patched and more secure packages --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b566495..3f6de47 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -16,9 +16,9 @@ GEM public_suffix (>= 2.0.2, < 7.0) ast (2.4.3) base64 (0.3.0) - bigdecimal (3.2.2) + bigdecimal (3.3.1) byebug (12.0.0) - crack (1.0.0) + crack (1.0.1) bigdecimal rexml docile (1.4.1) @@ -36,7 +36,7 @@ GEM net-http (>= 0.5.0) faraday-retry (2.3.2) faraday (~> 2.0) - hashdiff (1.2.0) + hashdiff (1.2.1) json (2.16.0) json_expressions (0.9.0) language_server-protocol (3.17.0.5) @@ -67,7 +67,7 @@ GEM rainbow (3.1.1) rake (13.3.1) regexp_parser (2.11.3) - rexml (3.4.1) + rexml (3.4.4) rubocop (1.81.7) json (~> 2.3) language_server-protocol (~> 3.17.0.2) @@ -96,7 +96,7 @@ GEM uri (1.0.3) vcr (6.3.1) base64 - webmock (3.25.1) + webmock (3.26.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) From c17c4df13699312ce8280c60175dab88df060c60 Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 13:35:56 +0000 Subject: [PATCH 13/17] chore: update faraday and dependencies to address security issues - Updates several core dependencies to their latest versions - Addresses potential security vulnerabilities flagged in outdated packages - Ensures compatibility with updated libraries for improved stability --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3f6de47..cb399c1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -24,16 +24,16 @@ GEM docile (1.4.1) excon (1.3.1) logger - faraday (2.13.4) + faraday (2.14.0) faraday-net_http (>= 2.0, < 3.5) json logger faraday-encoding (0.0.6) faraday - faraday-follow_redirects (0.3.0) + faraday-follow_redirects (0.4.0) faraday (>= 1, < 3) - faraday-net_http (3.4.1) - net-http (>= 0.5.0) + faraday-net_http (3.4.2) + net-http (~> 0.5) faraday-retry (2.3.2) faraday (~> 2.0) hashdiff (1.2.1) @@ -54,7 +54,7 @@ GEM mocha (2.8.0) ruby2_keywords (>= 0.0.5) mutex_m (0.3.0) - net-http (0.6.0) + net-http (0.7.0) uri ostruct (0.6.3) parallel (1.27.0) @@ -93,7 +93,7 @@ GEM unicode-display_width (3.2.0) unicode-emoji (~> 4.1) unicode-emoji (4.1.0) - uri (1.0.3) + uri (1.1.1) vcr (6.3.1) base64 webmock (3.26.1) From 4e7503109a4f781cea0cede76ad418e7329a3ec2 Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Wed, 12 Nov 2025 14:53:57 +0000 Subject: [PATCH 14/17] chore: remove trailing comma to fix metadata syntax - Remove trailing comma in metadata to conform to Ruby syntax requirements - Prevents potential errors during gem build or install - Supports resolving security and publishing issues --- data_services_api.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_services_api.gemspec b/data_services_api.gemspec index 6d41710..deaa05a 100644 --- a/data_services_api.gemspec +++ b/data_services_api.gemspec @@ -23,7 +23,7 @@ Gem::Specification.new do |spec| 'changelog_uri' => 'https://github.com/epimorphics/data_services_api/blob/main/CHANGELOG.md', 'documentation_uri' => 'https://www.rubydoc.info/gems/data_services_api', 'homepage_uri' => spec.homepage, - 'rubygems_mfa_required' => 'true', + 'rubygems_mfa_required' => 'true' } spec.add_dependency 'faraday', '~> 2.13', '>= 2.13.0' From 65949026bac9a79cfb9ce1c34ecb3e412f0fae16 Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Thu, 13 Nov 2025 14:57:39 +0000 Subject: [PATCH 15/17] chore: enhance make tasks and add help target - Adds a help command describing all available make tasks - Groups lint and test under a single checks target for convenience - Improves linting to auto-correct safe offences - Refines vars output for better variable visibility - Adds command to display version only - Clarifies and streamlines existing task outputs --- Makefile | 48 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 2f8e647..ea1ad5d 100644 --- a/Makefile +++ b/Makefile @@ -10,8 +10,6 @@ GEM=${NAME}-${VERSION}.gem GPR=https://rubygems.pkg.github.com/${OWNER} SPEC=${NAME}.gemspec -all: publish - ${AUTH}: @mkdir -p ${HOME}/.gem @echo '---' > ${AUTH} @@ -21,6 +19,8 @@ ${AUTH}: ${GEM}: ${SPEC} ./lib/${NAME}/version.rb gem build ${SPEC} +all: publish + assets: @echo "Installing assets for ${NAME} gem..." @bundle install @@ -30,6 +30,8 @@ auth: ${AUTH} build: clean gem +checks: lint test + clean: @echo "Cleaning up ${NAME} gem..." @bundle exec rake clean clobber @@ -38,10 +40,37 @@ clean: gem: ${GEM} @echo ${GEM} +help: + @echo "Make targets:" + @echo " all - build the Docker image (default)" + @echo " assets - install gems and yarn packages, compile assets" + @echo " auth - compile the required package registry authorisations" + @echo " build - build the gem package" + @echo " checks - run all linting and tests as a single task" + @echo " clean - remove temporary files" + @echo " gem - show the gem file name" + @echo " help - show this help message" + @echo " lint - run linters" + @echo " publish - release the image to the Docker registry" + @echo " realclean - remove all authentication tokens" + @echo " tags - show the current name, owner and version tags" + @echo " test - runs the test suite, be it units or integration" + @echo " vars - show the current variable settings" + @echo " version - show the current version" + @echo "" + @echo "Environment variables (optional: all variables have defaults):" + @echo " GEM - package name of the gem file (default: ${NAME}-${VERSION}.gem)" + @echo " GPR - GitHub package registry for gem (default: from git config)" + @echo " NAME - name of the Gem (default: from deployment.yaml)" + @echo " PAT - GitHub personal access token (default: prompt)" + @echo " SPEC - gemspec file to use (default: ${NAME}.gemspec)" + @echo " VERSION - version of the application (default: from VERSION file)" + lint: - @echo "Running RuboCop for ${NAME} gem..." - @bundle exec rubocop - @echo "RuboCop checks completed." + @echo "Running code linting for ${NAME} ..." +# Auto-correct offenses safely where possible with the `-a` flag + @bundle exec rubocop -a + @echo "Linting checks completed." publish: ${AUTH} ${GEM} @echo Publishing package ${NAME}:${VERSION} to ${OWNER} ... @@ -61,9 +90,12 @@ test: assets gem @echo "Tests completed successfully." vars: - @echo "NAME=${NAME}" - @echo "OWNER=${OWNER}" - @echo "VERSION=${VERSION}" @echo "GEM=${GEM}" @echo "GPR=${GPR}" + @echo "NAME=${NAME}" + @echo "OWNER=${OWNER}" @echo "SPEC=${SPEC}" + @echo "VERSION=${VERSION}" + +version: + @echo ${VERSION} From a82d96f17621dc83f65367ef2582dad507fd8020 Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Thu, 13 Nov 2025 15:18:39 +0000 Subject: [PATCH 16/17] docs: update changelog and formatting - Expand and reformat the changelog using a structured template - Add new release notes including security, features, changes, and fixes - Update formatting style to improve readability - Split legacy and new style changelog entries with a clear separator --- CHANGELOG.md | 54 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa1f164..561f979 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,52 @@ -# Changelog for DS API rubygem +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 1.6.1 - 2025-11 + +### Security + +- Updated dependency versions to address security vulnerabilities: + - Faraday HTTP client updated to 2.14.0 with related middleware + - WebMock, Mocha, and Excon libraries updated to latest secure versions + - Development and linting tools updated to compatible versions + + [#27](https://github.com/epimorphics/data_services_api/issues/27) + +### Added + +- New Make targets for linting, cleaning, asset management, and variable inspection +- Comprehensive help documentation in Makefile + +### Changed + +- Improved gemspec with enhanced metadata and dependency constraints +- Overhauled Makefile with comprehensive build automation +- Upgraded Bundler version for improved dependency management +- Refined file packaging configuration for better gem distribution + +### Fixed + +- Corrected middleware stack ordering in HTTP client to ensure proper error handling +- Updated gem homepage URL and project references for accuracy ## 1.6.0 - 2025-07 -- Update TargetRubyVersion to 3.4 for compatibility -- Refresh dependencies for better stability -- Refactor logging and error handling for clarity -- Enhance JSON parsing reliability -- Revise VCR setups with new HTTP client -- Expand .gitignore to cover more files -- Include Gemfile.lock for consistent dependencies +### Changed + +- Updated TargetRubyVersion to 3.4 for compatibility +- Refreshed dependencies for better stability +- Refactored logging and error handling for clarity +- Enhanced JSON parsing reliability +- Revised VCR setups with new HTTP client +- Expanded .gitignore to cover more files +- Included Gemfile.lock for consistent dependencies + +--- + ## 1.5.4 - 2025-04 From 646a3cc7a8716731a077bff31db87f2dc817d698 Mon Sep 17 00:00:00 2001 From: "Jon R. Humphrey" Date: Thu, 13 Nov 2025 15:18:39 +0000 Subject: [PATCH 17/17] release: bump version to reflect new changes - Increment patch number for new release - Keep consistency with updated changelog and release improvements --- lib/data_services_api/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/data_services_api/version.rb b/lib/data_services_api/version.rb index 35ddafa..c2dfeaa 100644 --- a/lib/data_services_api/version.rb +++ b/lib/data_services_api/version.rb @@ -4,7 +4,7 @@ module DataServicesApi MAJOR = 1 MINOR = 6 - PATCH = 0 + PATCH = 1 SUFFIX = nil VERSION = "#{MAJOR}.#{MINOR}.#{PATCH}#{SUFFIX && ".#{SUFFIX}"}".freeze end