= plist - All-purpose Property List manipulation library === Unreleased https://github.com/patsplat/plist/compare/v3.7.0...HEAD * Your contribution here! === 3.7.0 (2023-02-21) https://github.com/patsplat/plist/compare/v3.6.0...v3.7.0 New features and important changes: * Allow `Marshal.load` to be disabled for `Plist.parse_xml` (https://github.com/patsplat/plist/pull/61) Housekeeping: * Migrate from Travis CI to GitHub Actions; add Ruby 3.1 and 3.2 to CI matrix (https://github.com/patsplat/plist/pull/59) === 3.6.0 (2020-12-30) https://github.com/patsplat/plist/compare/v3.5.0...v3.6.0 New features and important changes: * Do not indent multiline string values (https://github.com/patsplat/plist/pull/54) * Add `Plist::UnimplementedElementError` (https://github.com/patsplat/plist/pull/51) * Add support for text inside `` (https://github.com/patsplat/plist/pull/49) Housekeeping: * Add Ruby 2.7 and 3.0 to CI (https://github.com/patsplat/plist/pull/55) * add docker-compose for development (https://github.com/patsplat/plist/pull/47) * Replace `require` with `require_relative`(https://github.com/patsplat/plist/pull/52) === 3.5.0 (2018-12-22) https://github.com/patsplat/plist/compare/v3.4.0...v3.5.0 * Only ship the required libs in the gem artifact (https://github.com/patsplat/plist/pull/48) === 3.4.0 (2017-12-08) https://github.com/patsplat/plist/compare/v3.3.0...v3.4.0 * Support custom indent string (https://github.com/patsplat/plist/pull/44) === 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