# Pbbuilder Changelog All notable changes to this project will be documented in this file. This format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## 0.17.0 ### Changed - Instead of appending to repeated enum message, we're replacing it to avoid issues in case output will be rendered twice - If one field was defined twice, only last definition will end up in output ## Fixed - Fixed CI by locking 3 version or lower of google-protobuf dependency. ## 0.16.2 ### Added - Add support for partial as a first argument , e.g.`pb.friends "racers/racer", as: :racer, collection: @racers` - Add tests to verify that fragment caching is operational ## 0.16.1 ### Changed - Deal properly with recursive protobuf messages while using ActiveView::CollectionRenderer ## 0.16.0 ### Added - Added support for new collection rendering, that is backed by ActiveView::CollectionRenderer. ### Changed - Refactoring and simplification of #merge! method without a change in functionality. ## 0.15.1 ### Fixed - #merge! method to handle repeated unintialized message object ## 0.15.0 ### Changed - #merge! method was refactored to accomodate caching for all data types (especially those that are :repeated) ## 0.14.0 ### Added - Adding `frozen_string_literal: true` to all files. ## 0.13.2 2023.02.3 ### Fixed - In case ActiveSupport::Cache::FileStore in Rails is used as a cache, File.atomic_write can have a race condition and fail to rename temporary file. We're attempting to recover from that, by catching this specific error and returning a value. ## 0.13.1 2023.01.24 ### Added - #merge! to support boolean values ## 0.13.0 2023.01.18 ### Added - #merge! method added for PbbuilderTemplate class - ActiveSupport added as a dependency for gem - Fragment Caching support added, with #cache! and #cache_if! methods in PbbuilderTemplate class. ### Changed - Appraisal is properly configured to run against all rubies and rails combinations. - Supported ruby version's are 2.7, 3.0, 3.1 - Superclass for pbbuilder is now active_support/proxy_object, with a fallback to active_support/basic_object. - Library upgrade: All gems are updated to the latest possible version. Most notable upgrades: - `rails` from version 6.1.4.4 to 6.1.7, and from version 7.0.1 to 7.0.4 - `google-protobuf` is let loose - `bundler` from version 2.3.4 to 2.3.22 ### Removed - TestUnit dependency ## 0.12.0 Prior to 2022-10-14 A templating language, for protobuf, for Rails, inspired by [Jbuilder](https://github.com/rails/jbuilder)