Skip to content

Releases: flori/more_math

v1.11.0

22 Jan 16:51

Choose a tag to compare

  • Added new entropy helper methods: entropy_probabilities,
    entropy_per_symbol, minimum_entropy_per_symbol,
    collision_entropy_per_symbol, entropy_total, minimum_entropy_total, and
    collision_entropy_total to lib/more_math/entropy.rb
  • Replaced the old entropy method with an alias to entropy_per_symbol
  • Updated documentation for entropy_ratio to clarify the size: keyword
    argument
  • Removed the entropy_ratio_minimum method and its corresponding test cases
    from the codebase
  • Enhanced test coverage in tests/entropy_test.rb with new unit tests for the
    added helper methods
    • Updated existing test assertions to use assert_in_delta for
      floating-point comparisons
    • Added descriptive comments to the test setup method
    • Ensured all new methods return correct values for empty, uniform, and
      varied symbol strings
  • Corrected example values in entropy_ratio documentation

v1.10.0

19 Jan 10:03

Choose a tag to compare

  • Added new entropy_maximum method to calculate theoretical maximum entropy
    for a text given an alphabet size
  • Made size parameter required in entropy_ratio and entropy_ratio_minimum
    methods instead of defaulting to text.size
  • Updated YARD documentation to clarify that size parameter represents
    alphabet size
  • Modified examples to use explicit alphabet sizes for better clarity
  • All entropy methods now consistently return values in bits as expected for
    Shannon entropy
  • Updated documentation examples to use simplified method calls without
    MoreMath::Entropy prefix
  • Enhanced entropy_maximum method documentation to explain its use in
    determining security strength for tokens
  • Added comprehensive tests for entropy_maximum function covering edge cases
    and various alphabet sizes
  • Improved entropy_maximum method signature to return 0 for invalid
    alphabet sizes (≤ 1) and use Math.log2 for calculation
  • Updated existing entropy method documentation to clarify it calculates
    entropy in bits
  • Simplified example code in documentation to use direct method calls instead
    of module prefixes

v1.9.0

16 Jan 01:02

Choose a tag to compare

  • Added support for array inputs in entropy calculation methods by checking
    text.respond_to?(:chars) and using raw arrays when appropriate
  • Added MoreMath::Entropy.entropy_ratio_minimum method to provide
    conservative lower bound accounting for sampling error
  • Updated entropy_ratio method to use text.size instead of
    text.each_char.size for consistency
  • Added comprehensive tests for new minimum entropy
    ratio methods

v1.8.0

15 Jan 15:32

Choose a tag to compare

  • Extended MoreMath::Functions module with Entropy and Lambert modules
    using extend instead of include
  • Added tests for entropy_ratio and lambert_w method inclusion/extension
  • Updated test execution command to use bundle exec
  • Updated gem dependencies and version requirements:
    • Updated rubygems version requirement from 4.0.2 to 4.0.3
    • Changed gem_hadar development dependency from version constraint "~>
      2.10" to ">= 2.17.0"
    • Maintained compatibility with Ruby 2.0 and later versions
  • Added changelog configuration to Rakefile with filename set to CHANGES.md
  • Updated Ruby version from 4.0-rc-alpine to 4.0-alpine

v1.7.0

19 Dec 17:30

Choose a tag to compare

  • Added MoreMath::Lambert module with lambert_w method for principal branch
  • Integrated MoreMath::Lambert into MoreMath::Functions module
  • Included comprehensive test suite in TestLambertW class
  • Added YARD documentation with examples and parameter descriptions
  • Required more_math/lambert in more_math/functions.rb
  • Supported special cases: W(0)=0, W(∞)=∞, W(-1/e)=-1
  • Verified solution property: W(y)·e^(W(y)) = y
  • Handled domain error for y < -1/e with NaN return
  • Used MoreMath::NewtonBisection for robust numerical root finding
  • Tests cover values: 0, 1, 100, 0.1, 1000 with expected results
  • Tested convergence verification and edge cases
  • Updated bundle update command to bundle update --all in .all_images.yml
  • Added ruby:4.0-rc-alpine image configuration to .all_images.yml
  • Added lib/more_math/lambert.rb to s.extra_rdoc_files and s.files in more_math.gemspec
  • Added tests/lambert_test.rb to s.test_files in more_math.gemspec
  • Updated s.rubygems_version from 3.6.9 to 4.0.2 in more_math.gemspec
  • Updated s.add_development_dependency for gem_hadar from "> 2.7" to "> 2.10" in more_math.gemspec
  • Added openssl-dev to the list of packages installed by apk add in .all_images.yml
  • Rely on test_helper requiring more_math

v1.6.0

30 Sep 10:47

Choose a tag to compare

  • Replaced detailed feature sections in README with a concise bullet list of
    MoreMath capabilities
  • Added documentation link to GitHub.io and updated installation instructions
    to include both RubyGems and Bundler
  • Improved author and license formatting with proper markdown links
  • Added .github/workflows/static.yml to automate documentation generation and
    deployment using Ruby 3.4
  • Updated Rakefile to register new documentation workflow with GemHadar
  • Configured workflow to use Ruby 3.4 for documentation builds and deploy
    to GitHub Pages on master branch pushes
  • Added context_spook as development dependency for YARD documentation
  • Added cscope.out to .gitignore and updated Rakefile to include it in
    the ignore list
  • Added code_indexer configuration to .utilsrc with a list of gems
    including base64, bigdecimal, date, json, mize,
    ostruct, rake, stringio, sync, test-unit, and tins
  • Added doc and .yardoc directories to gitignore and rake configuration
  • Updated homepage URL to escape underscore character for proper rendering
  • Updated gem_hadar development dependency from version 2.4 to 2.6
  • Modified package_ignore in Rakefile to explicitly include .github and
    .contexts directories instead of using glob pattern *.github/**/*
  • Enhanced documentation for all methods in MoreMath module
  • Added documentation directories .yardoc and doc to prune_dirs in
    utilsrc

v1.5.0

11 Sep 14:00

Choose a tag to compare

Changes

2025-09-11 v1.5.0

  • Set required Ruby version to >= 2.0
  • Added development dependencies including gem_hadar (~> 2.4) and tins (~> 1)
  • Added runtime dependency on mize (">= 0")
  • Set homepage to "https://github.com/flori/more_math"
  • Set license to "MIT"
  • Added yaml-dev to dockerfile build dependencies
  • Installed bundler and gem_hadar gems in dockerfile
  • Added fail_fast: true to CI configuration
  • Added .bundle to .gitignore file
  • Included .bundle in Rakefile ignore list
  • Replaced Dir.glob('.github/**/*', File::FNM_DOTMATCH) with Dir['.github/**/*']
  • Updated tins dependency version from ~>1.0 to ~>1
  • Replaced simplecov setup with gem_hadar/simplecov require and start call