RELEASE-NOTES

Path: RELEASE-NOTES
Last Update: Mon May 29 14:32:34 PDT 2006

preferences 0.3

  • Added the register API, which combines and simplifies register_pref_key and register_pref_var calls. Instead of

    PREFS.register_pref_key self, "my app/window" PREFS.register_pref_var self, :x, :y => "default_y" PREFS.register_pref_var self, "z"

you simply do

  PREFS.register "my app/window" do |entry|
    entry.var :x, :y => "default_y"
    entry.var "z"
  end
  • Changed examples/simple.rb, examples/foursplit-prefs.rb, and intro.txt to use this new API.
  • Added life-cycle.rb example.
  • Updated foursplit-prefs.rb to work with fox14.
  • Added some error checking, in case of a prefs file that is valid YAML but not usable for preferences (e.g., "— foo"). This now raises Preferences::LoadError.

preferences 0.2

  • Improved behavior with objects that have a short lifespan (i.e. objects which may be gone by the time their preferences are saved):
    • The in-memory database of preferences no longer references the app objects, but uses weak references instead, so the app objects are not prevented from being garbage collected.
    • New methods exist to safely connect and disconnect objects from the preferences database, so that invalid objects are not queried for their data. See examples/life-cycle.rb.
    • DataUnavailable exception class can be raised by client code (in a reader method, for example) to avoid saving a bogus variable value.
  • Default values for variables can take a Proc, which is called only if needed to produce the default value.
  • Added Preferences#clear to clear preferences in current process, and thereby revert to defaults next time program is run.

preferences 0.1

  • first release

[Validate]