Skip to content

Latest commit

Β 

History

History
417 lines (301 loc) Β· 16.5 KB

File metadata and controls

417 lines (301 loc) Β· 16.5 KB

Changelog

SemVer 2.0.0 Keep-A-Changelog 1.0.0

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning, and yes, platform and engine support are part of the public API. Please file a bug if you notice a violation of semantic versioning.

Added

  • kettle-jem-template-20260720-005 - README Support & Community links now include RubyForum.
  • kettle-jem-template-20260726-001 - Projects now include YARD lint configuration and documentation dependencies so documentation issues fail before generated docs are refreshed.
  • kettle-jem-template-20260727-001 - Spec harness documentation now lists the RSpec helpers provided by kettle-test.
  • kettle-jem-template-20260729-005 - Gemspec metadata now publishes this project's RubyForum tag as mailing_list_uri, and support docs link to the tagged RubyForum community alongside Discord.

Changed

  • kettle-jem-template-20260716-002 - Gemspecs now ship fewer repository-only files, reducing package noise for downstream packagers.
  • kettle-jem-template-20260720-002 - Development Gemfiles now use the released tree_sitter_language_pack gem 1.13.3 or newer by default.
  • kettle-jem-template-20260725-002 - Version specs now use anonymous_loader to cover version.rb without redefining constants, or are removed when version specs are not managed for the project.
  • kettle-jem-template-20260728-001 - Generated Ruby workflows now use clearer setup-ruby-flash planning and can prepare appraisal-only jobs without installing the main Gemfile bundle.
  • kettle-jem-template-20260801-001 - Generated README gem dashboard links now use ClickGems instead of BestGems.

Deprecated

Removed

Fixed

  • kettle-jem-template-20260720-003 - StructuredMerge Git diff driver config now uses the installed smorg-rb driver command.

  • kettle-jem-template-20260725-001 - Release pull request branches beginning with feature/release now run JRuby and TruffleRuby workflows.

  • kettle-jem-template-20260726-002 - Generated version files now document their version namespace and constants, reducing warning-only YARD lint output.

  • kettle-jem-template-20260726-003 - Coverage upload steps now treat Coveralls, QLTY, and Codecov as optional, so provider outages do not fail CI when local coverage thresholds still pass.

  • kettle-jem-template-20260728-002 - Generated RuboCop configs now ignore the same gemfiles/vendor/bundle tree as .gitignore, so vendored dependency installs are not reported as project lint debt.

  • kettle-jem-template-20260728-003 - Generated dep-heads workflows now run TruffleRuby jobs with current RubyGems and Bundler, avoiding setup failures before the test suite starts.

  • kettle-jem-template-20260728-004 - Generated dep-heads workflows now use the setup-ruby Bundler install path for direct appraisal Gemfiles, avoiding rv lockfile parser failures on Git and path dependencies.

  • kettle-jem-template-20260728-005 - VersionGem bootstrap now creates the missing canonical version spec when a project only has shim namespace version specs.

  • kettle-jem-template-20260729-001 - Generated JRuby 9.4 workflows now use the legacy manual bundle install path, avoiding setup-time Bundler full-index failures against gem.coop.

  • kettle-jem-template-20260730-001 - Gemspec package file enumeration now runs relative to the gemspec directory, so release package contents stay correct even when the gemspec is loaded from another working directory.

  • kettle-jem-template-20260801-002 - Generated RSpec helpers now normalize managed configuration block bindings structurally, preventing mixed block parameter names from producing invalid configuration after a merge.

  • kettle-jem-template-20260801-003 - Generated project metadata and documentation now normalize configured underscore hostnames to valid hyphenated hostnames.

  • kettle-jem-template-20260801-004 - Generated organization README logos now use GitHub's stable organization avatar endpoint instead of assuming a matching Galtzo-hosted asset exists.

  • kettle-jem-template-20260802-001 - Devcontainer JSON files now merge as JSONC, preserving comments and trailing commas during template updates.

Security

3.0.2 - 2026-07-14

  • TAG: v3.0.2
  • COVERAGE: 97.50% -- 312/320 lines in 6 files
  • BRANCH COVERAGE: 79.41% -- 108/136 branches in 6 files
  • 89.19% documented

Added

  • Added support for JRuby 10.1 and TruffleRuby 34.0.

Changed

  • Retemplated generated project metadata, support documentation, CI workflows, binstubs, and development dependency floors with kettle-jem v7.0.0.
  • Raised the anonymous_loader runtime dependency floor to >= 0.1.2.
  • Raised the auth-sanitizer runtime dependency floor to >= 0.2.2 and switched isolated sanitizer loading to the released anonymous_loader gem.

Fixed

  • Package configured license files in gem release file lists.

3.0.1 - 2026-06-16

  • TAG: v3.0.1
  • COVERAGE: 97.53% -- 316/324 lines in 6 files
  • BRANCH COVERAGE: 79.41% -- 108/136 branches in 6 files
  • 89.19% documented

Changed

  • Retemplated generated project metadata, support documentation, CI workflows, binstubs, and development dependency floors with the current kettle-jem template.
  • Raised the auth-sanitizer runtime dependency floor to >= 0.2.1, so OmniAuth LDAP consumers get hash and nested-attribute inspect redaction fixes plus downstream RBS duplicate-declaration fixes.

Fixed

  • Restored docs/CNAME so the generated documentation site keeps its custom domain.

  • Route unsafe trusted-header authentication configuration errors through OmniAuth's failure flow consistently across supported OmniAuth versions.

Security

  • Hardened OmniAuth::LDAP::Adaptor#inspect redaction so LDAP bind passwords and TLS private key values are filtered anywhere they appear in nested connection/configuration output.

3.0.0 - 2026-05-21

  • TAG: v3.0.0
  • COVERAGE: 97.52% -- 315/323 lines in 6 files
  • BRANCH COVERAGE: 79.41% -- 108/136 branches in 6 files
  • 94.59% documented

Added

  • Add auth-sanitizer runtime dependency to redact sensitive LDAP adaptor inspection output without defining top-level Auth or AuthSanitizer

Changed

  • Minimum supported Ruby version is now 2.2.0

Removed

  • Remove deprecated (since v2.1.0-gl in 2018) top-level :ca_file and :ssl_version LDAP configuration options; use :tls_options instead
  • Remove adaptor backward-compatibility that translated top-level :ca_file and :ssl_version into TLS options
  • Remove deprecated direct-option specs for top-level :ca_file and :ssl_version

2.3.4 - 2026-05-18

  • TAG: v2.3.4
  • COVERAGE: 97.44% -- 304/312 lines in 4 files
  • BRANCH COVERAGE: 79.58% -- 113/142 branches in 4 files
  • 94.44% documented

Added

  • Add header_auth_source to require explicit selection of trusted header identity source (:env or :http_header)
  • Add header_auth_require_tls to require TLS for trusted header SSO by default
  • Log a prominent security warning when header_auth is enabled

Changed

  • Trusted header SSO now defaults to trusting only server-set env variables and no longer checks Rack HTTP_ header variants unless header_auth_source: :http_header is configured

Fixed

  • Fix OpenSSL 3/Ruby 4 compatibility in the TLS options adaptor spec

Security

  • Harden trusted header SSO against spoofing by removing automatic fallback from REMOTE_USER to HTTP_REMOTE_USER

2.3.3 - 2025-11-10

  • TAG: v2.3.3
  • COVERAGE: 97.61% -- 286/293 lines in 4 files
  • BRANCH COVERAGE: 79.69% -- 102/128 branches in 4 files
  • 94.44% documented

Added

  • Documentation cleanup & updates
  • YARD documentation covering 94% of the code

Changed

  • kettle-dev v1.1.54

2.3.2 - 2025-11-06

  • TAG: v2.3.2
  • COVERAGE: 97.64% -- 290/297 lines in 4 files
  • BRANCH COVERAGE: 79.69% -- 102/128 branches in 4 files
  • 44.12% documented

Added

  • Support for SCRIPT_NAME for proper URL generation
    • behind certain proxies/load balancers, or
    • under a subdirectory
  • Password Policy for LDAP Directories
  • Support for JSON bodies
  • Support custom LDAP attributes mapping
  • Documentation of TLS verification options

Changed

  • Make support for OmniAuth v1.2+ explicit
    • Versions < 1.2 do not support SCRIPT_NAME properly, and may cause other issues
  • Raise a distinct error when LDAP server is unreachable
    • Previously raised an invalid credentials authentication failure error, which is technically incorrect

2.3.1 - 2025-11-05

  • TAG: v2.3.1
  • COVERAGE: 97.85% -- 228/233 lines in 4 files
  • BRANCH COVERAGE: 81.58% -- 62/76 branches in 4 files
  • 37.50% documented

Added

  • Added RBS types
  • Upgraded RSpec tests to v3 syntax
  • Improved code coverage to 98% lines and 78% branches
  • Added integration tests with a complete Roda-based demo app for specs
  • Well tested support for all versions of OmniAuth >= v1 and Rack >= v1 via appraisals
  • Document why auth.uid == dn
  • Support for LDAP-based SSO identity via HTTP Header
  • Document how to use filter option
  • All fixes and updates from the GitLab fork since up to v2.3.0

Changed

  • Make support for Ruby v2.0 explicit
  • Make support for OmniAuth v1+ explicit
  • Make support for Rack v1+ explicit
  • Modernize codebase to use more recent Ruby syntax (upgrade from Ruby v1 to v2 syntax) and conventions

Fixed

  • Prevent key duplication in symbolize_hash_keys

2.3.0-gl (gitlab fork) - 2025-08-20

2.2.0-gl (gitlab fork) - 2022-06-24

2.1.1-gl (gitlab fork) - 2019-02-22

Added

  • Add a String check to tls_options sanitization to allow other objects

2.1.0-gl (gitlab fork) - 2018-06-18

Added

  • Expose :tls_options SSL configuration option.

Deprecated

  • Deprecate :ca_file, :ssl_version

2.0.4-gl (gitlab fork) - 2017-08-10

  • TAG: v2.0.4 (gitlab)

  • Improve log message when invalid credentials are used

2.0.3 (gitlab fork) - 2017-07-20

  • Protects against wrong request method call to callback

2.0.2-gl (gitlab fork) - 2017-06-13

2.0.1-gl (gitlab fork) - 2017-06-09

2.0.0-gl (gitlab fork) - 2017-06-07

2.0.0 (intridea) - 2018-01-09

1.2.1-gl (gitlab fork) - 2015-03-17

1.2.0-gl (gitlab fork) - 2014-10-29

1.1.0-gl (gitlab fork) - 2014-09-08

1.0.5-gl - 2016-02-17

  • TAG: v1.0.5 (gitlab fork, gem not released)
  • TAG: v1.0.5 (github)

[1.0.4]

  • released 2014-02-03 (intridea)
  • released 2013-11-13 (gitlab fork)

[1.0.3]

  • released 2013-01-23 (intridea)
  • released 2013-06-13 (gitlab fork)
  • TAG: v1.0.2 (gitlab) - released 2012-12-30
  • TAG: v1.0.2 (github) - released 2011-12-17

[1.0.1] - 2011-11-02

1.0.0-gl - 2011-11-02