Breaking changes:
- #1131 Remove Serializer#root_name (@beauby)
- #1138 Introduce Adapter::Base (@bf4)
- Adapters now inherit Adapter::Base. 'Adapter' is now a module, no longer a class.
- using a class as a namespace that you also inherit from is complicated and circular at time i.e. buggy (see rails-api#1177)
- The class methods on Adapter aren't necessarily related to the instance methods, they're more Adapter functions
- named
Base
because it's a Rails-ism - It helps to isolate and highlight what the Adapter interface actually is
- Adapters now inherit Adapter::Base. 'Adapter' is now a module, no longer a class.
Features:
- #1225 Better serializer lookup, use nested serializer when it exists (@beauby)
- #1172 Better serializer registration, get more than just the first module (@bf4)
- #1158 Add support for wildcards in
include
option (@beauby) - #1127 Add support for nested
associations for JSON and Attributes adapters via the
include
option (@NullVoxPopuli, @beauby). - #1050 Add support for toplevel jsonapi member (@beauby, @bf4)
Fixes:
- #1239 Fix duplicates in JSON API compound documents (@beauby)
- #1214 retrieve the key from the reflection options when building associations (@NullVoxPopuli, @hut8)
Misc:
- #1233 Top-level meta and meta_key options no longer handled at serializer level (@beauby)
- #1232 fields option no longer handled at serializer level (@beauby)
- #1178 env CAPTURE_STDERR=false lets devs see hard failures (@bf4)
- #1177 Remove Adapter autoloads in favor of require (@bf4)
- #1117 FlattenJson adapter no longer inherits Json adapter, renamed to Attributes (@bf4)
- #1171 add require statements to top of file (@shicholas)
- #1167 Delegate Serializer.attributes to Serializer.attribute (@bf4)
- #1174 Consistently refer to the 'JSON API' and the 'JsonApi' adapter (@bf4)
- #1173 Comment private accessor warnings (@bf4)
- #1166 Prefer methods over instance variables (@bf4)
- #1168 Fix appveyor failure cache not being expired (@bf4)
- #1161 Remove duplicate test helper (@bf4)
- #1129 Remove SerializableResource.serialize in favor of
.new
(@bf4) - #1155 Outside controller use tutorial (@CodedBeardedSignedTaylor)
- #1154 Rubocop fixes for issues introduced by #1089 (@NullVoxPopuli)
- #1089 Add ActiveModelSerializers.logger with default null device (@bf4)
- #1109 Make better use of Minitest's lifecycle (@bf4)
- #1144 Fix Markdown to adapters documentation (@bacarini)
- #1121 Refactor
add_links
in JSONAPI adapter. (@beauby) - #1150 Remove legacy method accidentally reintroduced in #1017 (@beauby)
- #1149 Update README with nested included association example. (@mattmueller)
- #1110 Add lint tests for AR models (@beauby)
- #1131 Extended format for JSONAPI
include
option (@beauby)- adds extended format for
include
option to JsonApi adapter
- adds extended format for
- #1142 Updating wording on cache expiry in README (@leighhalliday)
- #1140 Fix typo in fieldset exception (@lautis)
- #1132 Get rid of unnecessary instance variables, and implied dependencies. (@beauby)
- #1139 Documentation for serializing resources without render (@PericlesTheo)
- #1017 Make Adapters registerable so they are not namespace-constrained (@bf4)
- #1120 Add windows platform to loading sqlite3 (@Eric-Guo)
- #1123 Remove url options (@bacarini)
- #1093 Factor
with_adapter
+ force cache clear before each test. (@beauby) - #1095 Add documentation about configuration options. (@beauby)
- #1069 Add test coverage; account for no artifacts on CI (@bf4)
- #1103 Move
id
andjson_api_type
methods fromSerializer
toJsonApi
. (@beauby) - #1106 Add Style enforcer (via Rubocop) (@bf4)
- #1079 Add ArraySerializer#object like Serializer (@bf4)
- #1096 Fix definition of serializer attributes with multiple calls to `attri… (@beauby)
- #1105 Add ActiveRecord-backed fixtures. (@beauby)
- #1108 Better lint (@bf4)
- #1102 Remove remains of
embed
option. (@beauby) - #1090 Clarify AMS dependencies (@bf4)
- #1081 Add configuration option to set resource type to singular/plural (@beauby)
- #1067 Fix warnings (@bf4)
- #1066 Adding appveyor to the project (@joaomdmoura, @Eric-Guo, @bf4)
- #1071 Make testing suite running and pass in Windows (@Eric-Guo, @bf4)
- #1041 Adding pagination links (@bacarini)
- adds support for
pagination links
at top level of JsonApi adapter
- adds support for
- #1063 Lead by example: lint PORO model (@bf4)
- #1 Test caller line parsing and digesting (@bf4)
- #1048 Let FlattenJson adapter decide it doesn't include meta (@bf4)
- #1060 Update fragment cache to support namespaced objects (@aaronlerch)
- #1052 Use underscored json_root when serializing a collection (@whatthewhat)
- #1051 Fix some invalid JSON in docs (@tjschuck)
- #1049 Fix incorrect s/options = {}/options ||= {} (@bf4)
- #1037 allow for type attribute (@lanej)
- #1034 allow id attribute to be overriden (@lanej)
- #1035 Fixed Comments highlight (@artLopez)
- #1031 Disallow to define multiple associations at once (@bolshakov)
- #1032 Wrap railtie requirement with rescue (@elliotlarson)
- #1026 Bump Version Number to 0.10.0.rc2 (@jfelchner)
- #985 Associations implementation refactoring (@bolshakov)
- #954 Encapsulate serialization in ActiveModel::SerializableResource (@bf4)
- #972 Capture app warnings on test run (@bf4)
- #1019 Improve README.md (@baojjeu)
- #998 Changing root to model class name (@joaomdmoura)
- #1006 Fix adapter inflection bug for api -> API (@bf4)
- #1016 require rails/railtie before subclassing Rails::Railtie (@bf4)
- #1013 Root option with empty array support (@vyrak, @mareczek)
- #994 Starting Docs structure (@joaomdmoura)
- #1007 Bug fix for ArraySerializer json_key (@jiajiawang)
- #1003 Fix transient test failures (@Rodrigora)
- #996 Add linter for serializable resource (@bf4)
- #990 Adding json-api meta test (@joaomdmoura)
- #984 Add option "key" to serializer associations (@Rodrigora)
- #982 Fix typo (@bf4)
- #981 Remove unused PORO#to_param (@bf4)
- #978 fix generators template bug (@regonn)
- #975 Fixes virtual value not being used (@GriffinHeart)
- #970 Fix transient tests failures (@Rodrigora)
- #962 Rendering objects that doesn't have serializers (@bf4, @joaomdmoura, @JustinAiken)
- #939 Use a more precise generated cache key (@aaronlerch)
- #971 Restore has_one to generator (@bf4)
- #965 options fedault valueserializable_hash and as_json (@bf4)
- #959 TYPO on README.md (@kangkyu)
- #958 Splitting json adapter into two (@joaomdmoura)
- adds FlattenJSON as default adapter
- #953 use model name to determine the type (@lsylvester)
- uses model name to determine the type
- #949 Don't pass serializer option to associated serializers (@bf4, @edwardloveall)
- #902 Added serializer file digest to the cache_key (@cristianbica)
- #948 AMS supports JSONAPI 1.0 instead of RC4 (@SeyZ)
- #936 Include meta when using json adapter with custom root (@chrisbranson)
- #942 Small code styling issue (@thiagofm)
- #930 Reverting PR #909 (@joaomdmoura)
- #924 Avoid unecessary calls to attribute methods when fragment caching (@navinpeiris)
- #925 Updates JSON API Adapter to generate RC4 schema (@benedikt)
- adds JSON API support 1.0
- #918 Adding rescue_with_handler to clear state (@ryansch)
- #909 Defining Json-API Adapter as Default (@joaomdmoura)
- remove root key option and split JSON adapter
- #914 Prevent possible duplicated attributes in serializer (@groyoh)
- #880 Inabling subclasses serializers to inherit attributes (@groyoh)
- #913 Avoiding the serializer option when instantiating a new one for ArraySerializer Fixed #911 (@groyoh)
- #897 Allow to define custom serializer for given class (@imanel)
- #892 Fixed a bug that appeared when json adapter serialize a nil association (@groyoh)
- #895 Adding a test to cover 'meta' and 'meta_key' attr_readers (@adomokos)
- #894 Fixing typos in README.md (@adomokos)
- #888 Changed duplicated test name in action controller test (@groyoh)
- #890 Remove unused method
def_serializer
(@JustinAiken) - #887 Fixing tests on JRuby (@joaomdmoura)
- #885 Updates rails versions for test and dev (@tonyta)
- #810 Adding Fragment Cache to AMS (@joaomdmoura)
- adds fragment cache support
- #868 Fixed a bug that appears when a nil association is included (@groyoh)
- #861 README: Add emphasis to single-word difference (@machty)
- #858 Included resource fixes (@mateomurphy)
- #853 RC3 Updates for JSON API (@mateomurphy)
- #852 Fix options merge order in
each_association
(@mateomurphy) - #850 Use association value for determining serializer used (@mateomurphy)
- #843 Remove the mailing list from the README (@JoshSmith)
- #842 Add notes on how you can help to contributing documentation (@JoshSmith)
- #833 Cache serializers for class (@lsylvester)
- #837 Store options in array serializers (@kurko)
- #836 Makes passed in options accessible inside serializers (@kurko)
- #773 Make json api adapter 'include' option accept an array (@sweatypitts)
- #830 Add contributing readme (@JoshSmith)
- #811 Reimplement serialization scope and scope_name (@mateomurphy)
- #725 Support has_one to be compatible with 0.8.x (@ggordon)
- adds
has_one
attribute for backwards compatibility
- adds
- #822 Replace has_one with attribute in template (@bf4)
- #821 Fix explicit serializer for associations (@wjordan)
- #798 Fix lost test
test_include_multiple_posts_and_linked
(@donbobka) - #807 Add Overriding attribute methods section to README. (@alexstophel)
- #693 Cache Support at AMS 0.10.0 (@joaomdmoura)
- adds cache support to attributes and associations.
- #792 Association overrides (@kurko)
- adds method to override association
- #794 add to_param for correct URL generation (@carlesjove)
Features:
- #774 Fix nested include attributes (@nhocki)
- #771 Make linked resource type names consistent with root names (@sweatypitts)
- #696 Explicitly set serializer for associations (@ggordon)
- #700 sparse fieldsets (@arenoir)
- #768 Adds support for
meta
andmeta_key
attribute (@kurko)
- #707 A Friendly Note on Which AMS Version to Use (@jherdman)
- #730 Fixes nested has_many links in JSONAPI (@kurko)
- #718 Allow overriding the adapter with render option (@ggordon)
- #720 Rename attribute with :key (0.8.x compatibility) (@ggordon)
- #728 Use type as key for linked resources (@kurko)
- #729 Use the new beta build env on Travis (@joshk)
- #703 Support serializer and each_serializer options in renderer (@ggordon, @mieko)
- #727 Includes links inside of linked resources (@kurko)
- #726 Bugfix: include nested has_many associations (@kurko)
- #722 Fix infinite recursion (@ggordon)
- #1 Allow for the implicit use of ArraySerializer when :each_serializer is specified (@mieko)
- #692 Include 'linked' member for json-api collections (@ggordon)
- #714 Define as_json instead of to_json (@guilleiguaran)
- #710 JSON-API: Don't include linked section if associations are empty (@guilleiguaran)
- #711 Fixes rbx gems bundling on TravisCI (@kurko)
- #709 Add type key when association name is different than object type (@guilleiguaran)
- #708 Handle correctly null associations (@guilleiguaran)
- #691 Fix embed option for associations (@jacob-s-son)
- #689 Fix support for custom root in JSON-API adapter (@guilleiguaran)
- #685 Serialize ids as strings in JSON-API adapter (@guilleiguaran)
- #684 Refactor adapters to implement support for array serialization (@guilleiguaran)
- #682 Include root by default in JSON-API serializers (@guilleiguaran)
- #625 Add DSL for urls (@JordanFaust)
- #677 Add support for embed: :ids option for in associations (@guilleiguaran)
- #681 Check superclasses for Serializers (@quainjn)
- #680 Add support for root keys (@NullVoxPopuli)
- #675 Support Rails 4.2.0 (@tricknotes)
- #667 Require only activemodel instead of full rails (@guilleiguaran)
- #653 Add "_test" suffix to JsonApi::HasManyTest filename. (@alexgenco)
- #631 Update build badge URL (@craiglittle)
- #612 Feature/adapter (@bolshakov)
- adds adapters pattern
- #615 Rails does not support const_defined? in development mode (@tpitale)
- #613 README: typo fix on attributes (@spk)
- #614 Fix rails 4.0.x build. (@arthurnn)
- #610 ArraySerializer (@bolshakov)
- #607 ruby syntax highlights (@zigomir)
- #602 Add DSL for associations (@JordanFaust)