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