= plist - All-purpose Property List manipulation library
=== Unreleased
https://github.com/patsplat/plist/compare/v3.3.0...HEAD
* Your contribution here!
=== 3.3.0 (2017-04-28)
https://github.com/patsplat/plist/compare/dece870...v3.3.0
* Fix ASCII/UTF-8 error (https://github.com/patsplat/plist/pull/38).
* Fix Fixnum, Bignum deprecations in Ruby 2.4
* Fix unused variable `e` warning
=== 3.2.0 (2016-01-28)
https://github.com/patsplat/plist/compare/ea0b4e7...dece870
* Changed sort to sort_by in Plist::Emit.plist_node to allow mixed symbol and string hash keys
* Updated deprecated File.exists? to File.exist?
* Fixed defect in PData in which exception was thrown when element was read from plist
=== 3.1.0 (2010-02-23)
2010-02-23:
* Ruby 1.9.x compatibility!
2010-02-16:
* excise a bunch of unnecessary @@ variables
* fix up some tests for cross-version compatibility
2010-02-14:
* generalized cleanup:
* fix old file headers
* modernize rakefile
* clean up rdoc
2010-01-08:
* move from RubyForge Subversion to GitHub
2007-02-22 (r81):
* make the plist parser accept strings contain XML or any object that responds to #read (File and StringIO being the intended targets here). Test and idea contributed by Chuck Remes.
2006-09-20 (r80):
* tweak a comment in generator.rb to make it clear that we're not using Base64.b64encode because it's broken.
=== 3.0.0 (2006-09-20)
2006-09-20 (r77 - r79):
* move IndentedString inside Plist::Emit and :nodoc: it
* Tag 3.0.0! (from rev 78)
2006-09-19 (r73 - r75):
* Really fix the rakefile this time (apparently I deleted some code that I needed...)
* alter the fix_whitespace rake task to ignore the assets directory
* cleanup whitespace
2006-09-18 (r70 - r72):
* Update this file ;)
* Fix Rakefile
* gem install -t now works correctly
* Remove super-sekr1t rdoc staging area from rdoc publishing task
2006-09-15 (r64 - r69):
* Change behavior of empty collection elements to match What Apple Does
* Fix some gem packaging infrastructure
2006-09-13 (r61 - r63):
* Merge generator injection removal branch into trunk!
2006-09-13 (r52 - r60):
* Fix indentation/newlines in generator (finally!)
* Refix indentation to be more faithful to the way Apple emits their plists
* Remove horrific regex and replace it with proper comment parsing
* Empty plists return nil when parsed
* Sort hash keys before emitting (now we can test multi-element hashes!)
* Inject #<=> into Symbol so that sorting Symbol-keyed hashes won't freak out
=== 2.1.2 (2006-09-20)
2006-09-12 (r47 - r51):
* More test rejiggering
* New tests to expose some bugs
2006-09-10 (r33 - r46):
* Update tests for new generator code
* Rejigger some tests
* Make the generator try to call #to_plist_node on any object it tries to serialize, thus allowing class authors to define how their objects will be serialized
* Marshal.dump unrecognized objects into elements
* Make the parser strip out comments and Marshal.load elements if possible
* Update some rdoc
=== 2.1.1 (2006-09-10)
2006-09-10 (r31 - r32):
* Added encoding / decoding for entities (& etc)
* Changed parsing of elements to return StringIO objects
* Fixed bug with empty tags
2006-08-24 (r25 - r30):
* Invert ownership of methods in the generator, allowing us to remove the self.extend(self)
* New branch to remove method inject from parser
2006-08-23 (r22 - r24):
* Add rcov task to Rakefile
* Add some tests
2006-08-20 (r9 - r21):
* Add a bunch of rdoc and rdoc infrastructure
* Add rake task to clean up errant whitespace
* Spin off a branch to remove a bunch of method injection in the generator code
* Rename some tests for clarity's sake
* Replace NARF generation code with Ben's generation code
* Update tests
* This broke indentation (will be fixed later)
* Add Plist::Emit.dump, so you can dump objects which don't include Plist::Emit, update tests to match
* Fix a bug with the method that wraps output in the plist header/footer
2006-08-19 (r1 - r8):
* The beginnings of merging the plist project into the NARF plist library (under the plist project's name)
* fancier project infrastructure (more tests, Rakefile, the like)
* Add/update copyright notices in the source files
* Move a bunch of documentation out to README
* Split library into chunks
* Properly delete files when cleaning up from tests