1 Revision history for MooseX-Storage
4 * always JSONify data with sorted keys, to handle hash order randomization
5 introduced in 5.17.* (RT#84287, Karen Etheridge)
8 * Change to use core Digest and Digest::SHA dists, rather than Digest::SHA1.
10 * Create a JSON::Any object, so setting $ENV{JSON_ANY_CONFIG} works.
11 Adjust tests that were setting the wrong values and the default
13 * Don't rely on hash key order in tests (RT#81695)
16 * Add example for add_custom_type_handler to the MooseX::Storage::Engine docs. (perigrin)
18 * Incorrect documentation for ->unpack method's inject parameter fixed.
20 * The test suite now uses Test::Fatal instead of Test::Exception (Karen
24 * Make Makefile.PL features work again. RT#67170
27 * Remove use of Test::TempDir in favor of File::Temp (gphat)
30 * Make the engine_traits parameter be able to use a '+My::Trait::Name'
31 prefix to specify a trait name which isn't in the
32 MooseX::Storage::Engine::Trait namespace
33 * Misc POD and test cleanups.
36 * use of parameterized roles (first added in 0.22) now works in Deferred
37 Example: $object->freeze({ format => [ $role_name => \%args ] })
40 * Fix URI for repository in metadata.
41 * Fix infinite recursion when collapsing objects which overload stringify
45 * Add support for Union types (bumps Moose dep to 0.99)
48 * Add additional YAML implementation tests.
49 * Switch from using Best to YAML::Any.
50 * Remove Test::YAML::Valid.
53 * Revert whitespace change in tests which breaks the tests if you
54 have Test::YAML::Valid installed.
57 * Fix warnings when types do not have a parent type.
58 * allow the use of roles outside MooseX::Storage:: (rjbs)
59 * allow the use of parameterized roles (rjbs)
62 * Fix inconsistent dist versions with Perl::Version
65 * Add support for Storage( traits => [...] ) with a MooseX::Storage::Traits::XX
66 namespace to alter the behaviour of the storage engine.
67 (Suggestions for how to make this less fugly appreciated)
68 * Add feature to disable cycle checking, either via engine trait or option
69 * add docs & tests (including 1 TODO test)
70 * Add feature to only serialize attributes whose predicate returns 'true'
71 * Implement the unpack( $data, inject => {...} ) feature.
73 * Move Base::WithChecksum to build upon Basic.pm, avoid code duplication
74 * Add extra test to ensure restoring fails if required argument isn't provided
75 * Fix a bug where if a required constructor argument was not serialized, it was
76 impossible to ->unpack again.
79 * Skip pod tests when not in author mode
82 * Fix test failures without JSON::Any. Patch from RT#46343 (Nicholas Clarke)
83 * Added support for Maybe[...] constraints fixing RT#43165 (plu)
86 * Change MooseX::Storage::Engine to use get_all_attributes,
87 rather than the deprecated compute_all_applicable_attributes (t0m)
89 0.16 (not actually released)
90 * Don't fail tests when Best is unavailable (t0m)
94 - Remove use of deprecated alias_method routine
95 which was causing issues when you used multiple
96 Roles which used MooseX::Storage (t0m).
99 * MooseX::Storage::Engine
100 - cycles are now tracked by refaddr instead
101 of stringified object, which broke for any
102 overloaded objects (Thanks to Jonathan Rockway)
104 * Don't fail tests when YAML is unavailable
106 * Use temporary files in test suite, instead of cwd
109 * MooseX::Storage::Engine
110 - added find_type_handler_for($name) method
111 to make finding type handlers easier
112 - improved error messages
114 ~ removed Build.PL since Module::Install
115 no longer supports it
118 - added build_requires for Test::Deep (awwaiid)
119 - upped the Moose dependency to support the custom
120 meta-attribute-traits
123 - fixing all the tests to properly skip if optional
124 features are not being used, this should help get
125 rid of all our CPANtester failures
126 - tested against 5.10 as well
128 * MooseX::Storage::Engine
129 MooseX::Storage::Meta::Attribute::DoNotSerialize
130 MooseX::Storage::Meta::Attribute::Trait::DoNotSerialize
131 - adding meta-attribute-trait support for
133 - added tests for this
136 - upped the Test::JSON dependency
137 so that we use the version that
139 - upped the JSON::Any requirement
140 - minor test cleanups to handle
141 optional dependencies better
143 * MooseX::Storage::Engine
144 - the numbers now have to numify (+0) in the
145 expand/collapse so that certain JSON engines
146 will not choke on them
149 ~~ updated copyright information ~~
151 * MooseX::Storage::Deferred
152 - added this role, which allows you to wait until
153 you actually call a method to determine what
154 formatter and/or IO engine you want to use
155 - added tests for this
158 * MooseX::Storage::Util
159 - added support to deal with utf8 strings correctly
161 * MooseX::Storage::Engine::File
162 MooseX::Storage::Engine::AtomicFile
163 - fixed utf8 handling when storing string
164 - added tests for this
167 - added an extra test for the utf8 handling
169 * Change build system to Module::Install
172 * MooseX::Storage::Format::JSON
173 - added support to deal with utf8 strings correctly
176 + MooseX::Storage::Format::Storable
177 - this will use Storable to freeze/thaw objects
178 - added tests for this
180 + MooseX::Storage::IO::StorableFile
181 - this will use Storable to load/store objects
182 - added tests for this
185 - fixed tests in 030_with_checksum.t
189 * MooseX::Storage::Engine
190 - added the Bool type and fixed a few bugs
191 that it exposed (thanks to Sartak)
192 - added tests for this
195 * MooseX::Storage::Base::WithChecksum
196 - Fixed minor issue where the WithChecksum would
197 choke with a bad checksum due to odd Data::Dumper
201 - forced JSON::Any in the basic JSON tests to use
202 JSON.pm since this is what Test::JSON uses and
203 subtle (and annoying) issues can arise.
206 * MooseX::Storage::Util
207 - made this more robust when it tries
208 to use YAML and JSON loaders and fails
210 - fixed tests to reflect this
213 * MooseX::Storage::Util
214 - this is a collection of useful tools
215 for working with MooseX::Storage data
216 - added docs and test
219 - added test for a custom type handler
220 - fixed checksum test to skip if Digest::SHA1
221 (our default) is not available
224 * MooseX::Storage::Base::WithChecksum
225 - added a simple base role which makes a checksum of
226 the data structure before packing, and checks the
227 checksum before unpacking.
228 - added tests for this
230 * MooseX::Storage::Engine
231 - better error reporting when cycles are found
232 - class names are now stored as the full identifier
233 (<class>-<version>-<authority>) and are checked
234 when they are expanded.
235 - added docs and tests for this
237 * MooseX::Storage::Engine::IO::(AtomicFile, File)
238 - added checks to make sure the file gets opened correctly
239 and dies if it does not.
242 This was Chris's idea originally (blame him), and
243 we expanded on it to create what you see here :)