Skip to content

Core Cleanup

Choose a tag to compare

@jbreeden jbreeden released this 31 Jan 23:53

Since 1.0.0 I've upgraded mruby-apr to be compatible with the lastest mruby-bindings (sha: 3376122e21611d7cb1c7684230ccea9c94476a22). This means a lot of internal changes, but some public API changes too, hence the major version bump.

Breaking changes

NOTE: If you're only using the Ruby API's (never calling into the APR module) you should see no API changes.

  • All APR types have been renamed as by type_name.sub(/Apr(.*)(T|E)/, "\\1")
    • So APR::AprPoolT becomes APR::Pool, APR::AprFileT becomes APR::File, etc.
  • All APR module functions have had the apr_ prefix stripped
    • APR.apr_pool_create becomes APR.pool_create
  • Some generated bindings that were never tested have been removed. If required, they will be added back more deliberately.

Other Enhancements

  • Library is much smaller now. A lot of pre-generated code that was never used has been removed. For example, mruby_APR.c has gone from 20k+ lines to ~11k (still huge... but mruby-bindings doesn't split up the global functions yet sigh). Many other files have been removed.
  • The generated code is much friendlier than before.
  • Enum values no longer hardcoded in Ruby files. They're assigned at runtime by the current value from the library.