Upgrade Instructions From v0.9 to v0.10
Upgrade Instructions From v0.10 to v0.11
Upgrade Instructions From v0.11 to v0.12
- Enhancements
- Support plug v1.7
- Bugfix
- fix dialyzer errors
- Deprecations
- deprecate start maru server by
Maru.Supervisor
- deprecate start maru server by
- Enhancements
- Check
json_library
compile time - add
Maru.Server
to run server with a standalone mode
- Check
- Bugfix
mix maru.routes
error
- Deprecations
- deprecate
Confex
from maru codebase, in favor of using it ininit/2
of server module - soft deprecate start server by
Maru.Supervisor
, in favor ofMaru.Server
- deprecate
- Bugfix
- take
path_params
back
- take
- Enhancements
- upgrade to plug v1.5
- make
:json_library
configurable and useJason
as default
- Deprecations
- remove phoenix parameter support
- Enhancements
- support path_params
- Enhancements
- make regexp validator support list
- support mount alias modules
- add
all_or_none_of
validation
- Bugfix
- Support :chunk response
- Bugfix
- Support confex ~> 3.2
- Enhancements
- log the error instead of raise error when the router module defined but bot loaded
- Bugfix
- Don't rely on
Mix
module being present
- Don't rely on
- Enhancements
- add elixir ~> 1.3 and ~> 1.4 support back
- Enhancements
- support set version by
accept
header - refactor unittest
- return original value for
map
andlist
type withoutdo block
- fix elixir 1.5 warning
- support set version by
- Deprecations
- only support elixir ~> 1.5
- Enhancements
- make all configuration options configurable via OS ENVs, support by confex
- Bugfix
- receive messages sent by plug for unittest
- Enhancements
- make
params
a variable instead of macro - import module when use a module as helper
- make
- Bugfix
- fix
rescue_from
can't catchMaru.Exceptions.NotFound
exception - fix elixir v1.4 warnings
- fix
- Bugfix
- fix typo of exception name:
MethodNotAllow
->MethodNotAllowed
,InvalidFormatter
->InvalidFormat
- fix typo of exception name:
- Enhancements
- make unittest easier
- add
with_exception_handlers
option to Maru.Test - allow maru to ignore
MIX_ENV=test
or forcetest
for otherMIX_ENV
byconfig :maru, test: TRUE_OR_FALSE
- warning when mount unavailable module
- warning unknown options for
use Maru.Router
anduse Maru.Test
- Enhancements
- new
Parameter.Information.type
for one line list parameter{:list, "MARU.TYPE"}
- new
-
Enhancements
- add
:keep_blank
option for params - add
:given
DSL for dependent parameters - make
rescue_from
works for all maru router - support
with
option forrescue_from
DSL - bring maru's params parser to phoenix
- add
-
Bugfix
- allow set optional params to false and blank value by default
- Enhancements
- support one-line nested list params
- new DSLs for unittest
- Enhancements
- add detail and responses for description
- add response helper functions
put_maru_conn/1
andget_maru_conn/0
- pass modified conn to
rescue_from
block
- Bugfix
- fix v1.3.0 exception warning
- Bugfix
- jumbled routes order
- custom type and validation error
-
Enhancements
- totally rewrite route logic
- totally rewrite params parsing logic and DSLs
- add overridable plug
- support top-level plug
- split Route and Endpoint
-
Deprecations
coercion
is deprecated in favor oftype
- Bugfix
- define helper functions for all environments except
:prod
- define helper functions for all environments except
-
Enhancements
mutually_exclusive
,exactly_one_of
andat_least_one_of
support:above_all
-
Bugfix
- param options for route_param DSL
-
Deprecated
- Maru.Parsers forked from plug
-
Enhancements
- Allow param type definition in route_param.
-
Bugfix
- parse bool type error.
- Enhancements
maru.routers
is deprecated in favor ofmaru.routes
- make poison 1.5 and 2.0 compatible
- Enhancements
- no longer keep nil value for optional params
-
Enhancements
- update to elixir v1.2
-
Bugfix
- floats can be negative
-
Enhancements
- import
Plug.Conn
for Maru.Router by default - reuse
text
html
andjson
to make response
- import
-
Bugfix
maru.routers
raise module undefined
-
Deprecations
- return NOT Plug.Conn struct by endpoint
- custom response helpers:
assigns
assign
headers
header
content_type
status
present
in faver of functions of Plug.Conn.
- Bugfix
- params parser error within
Maru.Test
- params parser error within
- Enhancements
- support rename parameter using
source
- fork plug params for reusing request body
- support rename parameter using
- Enhancements
- add paramer type
Json
- support parameter coercion using
coerce_with
- add paramer type
-
Documentation
- add documentation
- add ex_doc
-
Deprecations
- remove unused plug: Maru.Plugs.Forword
- Enhancements
- add
&Maru.Builder.Routers.generate/1
to generate endpoints details
- add
- Enhancements
- Update to poison v1.5
- Enhancements
- remove deprecated functions
- add build_embedded and start_permanent options
- Support configure :port by system environment like {:system, "PORT"}
- add
match
DSL to handle all method - Support HTTP 405 method not allowed
maru.routers
task supportversion extend
now
- Bugfix
- resolved shared params error
- Enhancements
- Support Plug v1.0
- Enhancements
- Support Plug v0.14
-
Enhancements
- router extend support
-
Bugfix
- resolved deprecated functions warning
- Enhancements
- rewrite Versioning
- return variable itself when present options hasn't
:with
key - add Maru.version
- Enhancements
- print log info when start maru http/https server
- complex path like ":params" within namespace
- Enhancements
- Support Plug v0.13
- add Maru.Test
- redirect DSL
-
Enhancements
- status DSL
- rescue_from DSL
- present DSL
- Maru.Response procotol
-
Deprecations
- json/1, json/2, html/1, html/2, text/1, text/2 is deprecated in favor of returning data directly.
- error/2 is deprecated in favor of rescue_from/2 and rescue_from/3.
-
Bugfix
- param value replaced by identical param keys in group #5.
- Enhancements
- Support Plug v0.12
- Update to poison v1.4.0
-
Enhancements
- Support reusable params by
use
DSL withinparams
. - readd Maru.Middleware
- Support reusable params by
-
Bugfix
- resolved params unused warning