- Compatibility with faraday-multipart 1.1.0
- Fix handling of empty container file URLs, now raises
FmRest::ContainerFieldError
- Fix downloading of container files in FileMaker 20
- Add support for ActiveSupport 7.1
- Drop support for ActiveSupport < 5.2
- Add
.and
query method - Fix crash when
.match
query method was given non-string values
- Add
FmRest::Layout.ignore_mod_id
flag
- Fix crash when booting in Rails and
config/fmrest.yml
didn't exist
- Add
find_one!
(aliased asfirst!
) exception-raising method - Add mapping of API exceptions to HTTP responses in Rails
- Add
fmrest-rails
gem with Rails integration (initializer, generators)
- Support for Spyke 7 and Faraday 2
- Drop support for Faraday 1
- Drop support for Ruby 2.5
- Forward proxy options to AWS Client when using
fmrest-cloud
gem
- Added native support for FileMaker Cloud through the
fmrest-cloud
gem
- Better support for portals with mismatching field qualifiers
- Better ergonomics for script execution, improved documentation
- Defining an attribute on a model that would collide with an existing method now raises an error
- Cleared Faraday deprecation messages on authentication methods
- Handle FileMaker Cloud case where HTTP 401 Unauthorized with content-type text/html is returned after token expiry
- Add retry option to Rescuable mixin
- Added fmrest-ruby/VERSION to User-Agent headers
- Fixed crash when
fmid_token
is set butusername
isn't
- Added support for Claris ID token login
- Added ability to use procs in settings
- Added
Rescuable
mixin
- Added
FmRest.logger=
- Handle serialization of
nil
,true
andfalse
values
- Fixed autoloading of
FmRest::Layout
- Much improved querying API (see documentation on querying), adding new
.query
capabilities, as well as two new methods:.match
and.or
- Aliased
FmRest::Spyke::Base
asFmRest::Layout
(now preferred), and provided a shortcut version for setting the layout name (e.g.class Foo < FmRest::Layout("LayoutName")
) - Made
layout
class setting subclass-inheritable
- Fixed downloading of container field data from FMS19+
- Split
fmrest
gem intofmrest-core
andfmrest-spyke
.fmrest
becomes a wrapper for the two new gems. - Fixed bug preventing connection databases with spaces in their names.
- Improved portal support with ability to delete portal records, and better refreshing of portal records after saving the parent.
FmRest::Spyke::Base#__record_id
andFmRest::Spyke::Base#__mod_id
now always return integers if set.
- Rename
FmRest::Spyke::Base#id=
toFmRest::Spyke::Base#__record_id=
to prevent clobbering of FileMaker layout-defined fields - Removed previously deprecated
FmRest::Spyke::Base(config)
syntax - Better yard documentation
- Fixed a couple crashes due to missing constants
- Added custom class for connection settings, providing indifferent access (i.e. keys can be strings or symbols), and centralized default values and validations
- Added
:autologin
,:token
and:token_store
connection settings - Added
FmRest::Base.fmrest_config_overlay=
and related methods - Added
FmRest::V1.request_auth_token
andFmRest::Spyke::Base.request_auth_token
(as well as!
-suffixed versions which raise exceptions on failure)
- Fixed
URI.escape
obsolete warning messages in Ruby 2.7 by replacing it withURI.encode_www_form_component
(PR#40)
- Added
FmRest::StringDateAwareness
module to correct some issues when usingFmRest::StringDate
- Added basic timezones support
- Deprecated
class < FmRest::Spyke::Base(config_hash)
syntax in favor of usingself.fmrest_config=
- Added
FmRest::Spyke::Base.set_globals
- Improved metadata when using
FmRest::Spyke::Model
. Metadata now uses Struct/OpenStruct, so properties are accessible through.property
, as well as[:property]
- Added batch-finders
.find_in_batches
and.find_each
for FmRest::Spyke::Base
- Made sure
Model.find_one
andModel.find_some
work without needing to callModel.all
in between
- Added date coercion feature
- Implemented session logout (#16)
- Improved support for legacy ActiveModel 4.x
- Alias
:username
option as:account_name
for ginjo-rfm gem cross-compatibility
- Much improved script execution support (#20)
- Fixed bug when setting
default_limi
and trying to find a record (35)
- Implement ability to set limit and offset for portals
- Implement disabling and requesting all portals
- Fix encoding of paths for layouts with brackets in them (e.g.
"\[Very Ugly\] Layout"
) - Raise an error if
"id"
is assigned as an attribute on a model, as it's currently a reserved method name by Spyke
- Fixed support for ActiveSupport < 5.2 (#27)
- Added Moneta token store
- Fixed crash in
fetch_container_data
when no proxy options were set
- Use
String#=~
instead ofString#match?
for Ruby <2.4 compatibility (Fixes #26) - Deprecated
FmRest.config
in favor ofFmRest.default_connection_settings
- Honor Faraday SSL and proxy settings when fetching container files