Changelog
Unreleased
[5.0.0]
- Fixed an issue with
Surgex.Parser.flat_parse/2returning values in an unpredictable order when parsers were passed as a map. Now, only keyword lists are accepted as parsers to maintain key order.
[4.15.2]
- Using
Logger.warninginstead of deprecatedLogger.warn
[4.15.1]
Fix optional dependency on
JabbaxandPlugby:- defining
Surgex.Parseronly ifJabbaxis available - defining
Surgex.Sentryonly ifPlugis available
- defining
[4.15.0]
- Discard unexpected parameters instead of returning 400 Bad Request
4.12.0 - 2022-09-05
- New parser (
Surgex.Parser.DefaultParser) returning default values
4.11.0
- Added ability to return map with
Surgex.Parser.parse_map/2function
4.10.0
- Extended compatibility with Jabbax to 1.0
4.9.0
- New
:regexoption forSurgex.Parser.StringParser, allowing checking input agains given pattern - New UUID parser (
Surgex.Parser.UuidParser) - Add support for :min, :max and :trim option for
Surgex.Parser.EmailParser
4.8.0
- New
Surgex.DateTimemodule withdate_and_offset_to_datetime/3helper for creating UTC or time-zone date time
4.7.0
- The
Surgex.Parser.RequiredParseraccepts an empty string as valid input
4.6.1
- Parsers can now process any value without throwing exception on unknown value type
4.6.0
- Updated
Surgex.Parser.ResourceArrayParserto support invalid parameters
4.5.0
- Extended parsers to match empty string values as nil
4.4.0
- Extended parsing of ResourceID ("" -> required)
4.3.0
- Bump minor version
4.2.1
- Extended parsing of boolean ("true" -> true, "false" -> false) and integers ("" -> nil) values
4.2.0
- Added support for translating errors in nested changeset to JSON API responses
[4.0.0]
- Removed support for AppSignal
[3.2.8]
Surgex.RepoHelperssets ecto application_name based on APP_NAME env var
3.2.7
- Simplified email regex to fix catastrophic backtracing error when providing longer addresses
3.2.6
- Added ssl in
Surgex.RepoHelpers
3.2.5
- Fixed typespec error in
Surgex.Parser.BooleanParser - Added
dialyzer --halt-exit-statustomix check
3.2.4
- Added typespecs in
Surgex.Parser - Deprecated
Surgex.Guide,Surgex.RepoHelpersandSurgex.Sentry
3.2.3
- Improved
Surgex.DataPipe.ForeignDataWrapperto alter pg server if it already exists
3.2.2
- Fixed error in
Surgex.Appsignal.EctoLoggerfor when event is missing stage times
3.2.1
- Fixed compilation of
Surgex.Appsignal.EctoLogger - Added
:allvalue for:query_stagesoption inSurgex.Appsignal.EctoLogger.handle_event/4
3.2.0
- Added
Surgex.Appsignal.EctoLogger
3.1.0
- Added
Surgex.RepoHelpers.set_pool_size/2and included it inset_opts/2
3.0.0
- Extended
Surgex.Parser.IdListParserwith support for list type - Removed
Surgex.Config - Removed
Surgex.DeviseSession - Removed
Surgex.PhoneNumber - Removed
Surgex.RPC - Removed
Surgex.Scout - Updated some deps
2.24.1
- Added
Surgex.RepoHelpers
2.23.0
- Added
Surgex.DataPipe.PostgresSystemUtils - Fixed
Surgex.DataPipeto support PostgreSQL 10 - Reformatted code with Elixir Formatter
- Deprecated
Surgex.{Config, DeviseSession, PhoneNumber, RPC, Scout}modules
2.22.0
- Extended
Surgex.Parser.StringParserwithtrim,minandmaxoptions - Extended
Surgex.Parser.ResourceArrayParserwithminandmaxoptions - Extended
Surgex.Parser.IncludeParserwith support for multiple includes
2.21.0
- Extended
Surgex.DataPipe.RepoProxywith registry and follower sync
2.20.1
- Fixed LSN check in
Surgex.DataPipe.FollowerSync
2.20.0
- Refine error handling in
Surgex.DataPipe.FollowerSync
2.19.0
2.18.0
- Added
Surgex.Parser.ListParser
2.17.0
- Extended
Surgex.DataPipe.TableSyncwithdelete_scopeoption - Fixed
Surgex.DataPipe.TableSyncto properly use Ecto's query params
2.16.0
- Extended
Surgex.Parser.FloatParserwith support for integers as input
2.15.0
- Extended
Surgex.Parser.FloatParserwith support for floats as input - Extended
Surgex.Parser.BooleanParserwith support for booleans as input
2.14.0
- Extended
Surgex.Parser.FloatParserwithminandmaxoptions
2.13.0
- Added
Surgex.Parser.ResourceParser
2.12.1
- Fixed
Surgex.RPC.Clientto support no services in the client - Refactored
Surgex.RPCfor proper payload - transport separation
2.12.0
- Added
Surgex.Parser.SlugParser - Added
Surgex.Parser.SlugOrIdParser
2.11.0
- Added support for configuring
Surgex.RPC.HTTPAdaptervia Mix config, powered bySurgex.Config - Added support for passing service name atom to
Surgex.RPC.Client.proto/1 - Added support for passing arbitrary opts to
ProtobufviaSurgex.RPC.Client.service/1
2.10.0
- Added
Surgex.RPC
2.9.0
2.8.0
- Added
Surgex.Config.Patch
2.7.0
- Added
Surgex.Scoutto support setting Scout Agent Key with{:system, "SCOUT_API_KEY"}
2.6.0
2.5.1
- Fixed
Surgex.DeviseSessionto supportPlug.Connwith{:system, "SECRET_KEY_BASE"}
2.5.0
- Added
Surgex.DatabaseCleaner
2.3.0
2.2.1
- Fixed
Surgex.Parserto return the same error reason multiple times
2.2.0
- Added support for raw SQL source in
Surgex.DataPipe.TableSync
2.1.1
- Fixed nil scope bug in
Surgex.Config.get/2 - Fixed per-repo config parse bug in
Surgex.DataPipe.FollowerSync
2.1.0
- Added support for per-repo config in
Surgex.DataPipe.FollowerSync
2.0.0
- Replaced
Surgex.Config.SessionwithSurgex.DeviseSession - Added
Surgex.DataPipe - Added
Surgex.Refactor
1.6.0
- Added
Surgex.Config.Session
1.5.2
- Support integer input in
Surgex.Parser.IntegerParser
1.5.1
- Return
invalidinstead ofinvalid-castinSurgex.Changeset
1.5.0
1.4.0
- Keep input nil keys in
Surgex.Parser
1.2.1
- Fix bug in Sentry docs
1.2.0
- Added
Surgex.Guide.SoftwareDesign.error_handling/0rule - Fixed some other rules
1.1.0
- Added
Surgex.PhoneNumber
1.0.0
- Extended
Surgex.Configto support env var lists - Changed
Surgex.Configto take opts via keyword list - Added
Surgex.Parsersupport for nil input - Extended
Surgex.Parser.IntegerParserwith min and max opts - Changed
Surgex.Sentryto run as an OTP app - Extended
Surgex.Sentryto take release and environment from Mix - Completed
Surgex.Guide