Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
100644 108 lines (96 sloc) 5.111 kb
3fe2d7a @bhuga Add a changelog
1 # Changelog for Spira <>
4138f60 @bhuga Bump the rdf-isomorphic version dependency
3 ## 0.0.11
4 * Bumped the version dependency on rdf-isomorphic to 0.3.0
3385e7f @bhuga Update changelog
6 ## 0.0.10
7 * Use RDF::URI.intern on URIs generated via base URIs
8 * Added a Spira::Types::Native, which will return the RDF::Value for a given
9 predicate directly without any serialization or dserialization.
cb4c659 @bhuga Update changelog
11 ## 0.0.9
12 * Fix a bug with Spira::Types::Any that prevented blank node objects
13 * Added Spira::Resource#copy, #copy!, #copy_resource!, and #rename!
14 * Fix a bug with fragment RDF::URI arguments that prevented correct URI
15 construction
16 * Added Spira::Resource.project(subject, attributes, &block), which creates a
17 new instance without attempting to perform any base_uri logic on the given
18 subject. This provides a supported API entry point for implementors to
19 create their own domain-specific URI construction.
20 * Updating a value to nil will now remove it from the repository on #save!
21 * Tweaks to dirty tracking to correctly catch both changed and updated values.
22 All tests pass for the first time with this change.
3385e7f @bhuga Update changelog
23 * Change gemspec name to work with bundler
cb4c659 @bhuga Update changelog
1184bf4 @bhuga Update changelog
25 ## 0.0.8
26 * Remove type checking for repository addition. More power in return for
27 slightly more difficult error messages.
28 * Repositories added via klass, *arg are now only instantiated on first use
29 instead of immediately.
30 * RDF::URI#as, RDF::Node#as, Resource.for, and Resource#new can now all accept
31 a block, which yields the new instance and saves it after the block.
32 * Clarify error message when default repository is not setup
33 * Added a weak-reference identity map for each instance. Any circular references in
34 relations will now return the original object instead of querying for a new
35 one.
36 * Use a weak-reference identity map when iterating by class.
37 * When serializing/unserializing, duck typing (:serialize, :unserialize) is now
38 permitted.
40 ## 0.0.7
41 * Added Resource.[], an alias for Resource.for
42 * Resource.each now correctly raises an exception when a repository isn't found
f734bc1 @bhuga Update changelog
a0fc943 @bhuga Update changelog
44 ## 0.0.6
6c8b0bf @bhuga Update changelog
45 * Added #exists?, which returns a boolean if an instance exists in
46 the backing store.
47 * Added #data, which returns an enumerator of all RDF data for a subject, not
48 just model data.
49 * #save! and #update! now return self for chaining
50 * Implemented #update and #update!, which allow setting multiple properties
51 at once
52 * Existing values not matching a model's defined type will now be deleted on
53 #save!
54 * Saving resources will now only update dirty fields
55 * Saving resources now removes all existing triples for a given predicate
56 if the field was updated instead of only removing one.
57 * Implemented and documented #destroy!, #destroy!(:subject),
58 #destroy!(:object), and #destroy!(:completely). Removed #destroy_resource!
a0fc943 @bhuga Update changelog
59 * has_many collections are now Sets and not Arrays, more accurately reflecting
60 RDF semantics.
61 * The Any (default) property type will now work fine with URIs
2e84a61 @bhuga Update changelog
62 * Added ResourceDeclarationError to replace various errors that occur during
63 invalid class declarations via the DSL.
64 * Raise an error if a non-URI predicate is given in the DSL
65 * Small updates for RDF.rb 0.2.0
66 * Implemented dirty field tracking. Resource#dirty?(:name) will now report if
67 a field has not been saved.
a0fc943 @bhuga Update changelog
887eb40 @bhuga Update changelog
69 ## 0.0.5
22b44b9 @bhuga Update changelog
70 * Relations can now find related classes in modules, either by absolute
71 reference, or by class name if they are in the same namespace.
bca49e0 @bhuga Update changelog
72 * Fix a bug with default_vocabulary in which a '/' was appended to
22b44b9 @bhuga Update changelog
73 vocabularies ending in '#'
74 * Fix a bug with the Decimal type where round-tripping was incorrect
887eb40 @bhuga Update changelog
75 * Fix some error messages that were missing closing parentheses
77 ## 0.0.4
78 * Added a Decimal type
88ef1e3 @bhuga Update changelog
79 * Small updates for RDF.rb 0.2.0 compatibility
f734bc1 @bhuga Update changelog
80 * Add a Spira::Base class that can be inherited from for users who prefer to
81 inherit rather than include.
82 * Resource#new returns to the public API as a way to create a resource with a
83 new blank node subject.
85 ## 0.0.3
f8c3176 @bhuga Update changelog
86 * Bumped promise dependency to 0.1.1 to fix a Ruby 1.9 warning
87 * Rework error handling when a repository is not configured; this should
88 always now raise a Spira::NoRepositoryError regardless of what operation
89 was attempted, and the error message was improved as well.
fa9916a @bhuga Update changelog
90 * A '/' is no longer appended to base URIs ending with a '#'
ff38027 @bhuga Add BNode support to changelog
91 * Resources can now take a BNode as a subject. Implemented #node?, #uri,
92 #to_uri, #to_node, and #to_subject in support of this; see the yardocs for
93 exact semantics. RDF::Node is monkey patched with #as, just like RDF::URI,
94 for instantiation. Old code should not break, but if you want to add
95 BNodes, you may be using #uri where you want to now be using #subject.
3fe2d7a @bhuga Add a changelog
97 ## 0.0.2
98 * Implemented #each on resource classes, allowing classes with a defined RDF
99 type to be enumerated
100 * Fragment URIs are now used as strings, allowing i.e. Integers to be used as
101 the final portion of a URI for classes with a base_uri defined.
102 * Added an RDF::URI property type
103 * Implemented #to_rdf and #to_uri for increased compatibility with the RDF.rb
104 ecosystem
106 ## 0.0.1
107 * Initial release
Something went wrong with that request. Please try again.