1 | ##Claire v2 là một framework Javascript chuyên dùng cho API server.
|
2 |
|
3 | - được viết bằng TypeScript
|
4 | - hỗ trợ websocket và HTTP request
|
5 | - hỗ trợ CLI để generate base project (claire-cli)
|
6 |
|
7 |
|
8 | #### Change Log:
|
9 |
|
10 | 3.2.2
|
11 | - deep json convert for DefaultJsonResponder (AbstractModel aware)
|
12 | - introduce NoAccess decorator for http handler
|
13 |
|
14 | 3.2.0 [Breaking change]
|
15 | - introduce DefaultAccessConditions
|
16 |
|
17 | 3.1.8
|
18 | - Fix IsArray override inner data type
|
19 | - DefaultSqlAdapter use Op.in for COMMON_BELONGS operator
|
20 | - fix default value function generating
|
21 | - fix order in IQuery required other fields
|
22 | - DefaultDataValidator check for undefined of number value when using Optional()
|
23 | - DefaultSqlAdapter use Op.or for COMMON_BELONGS operator
|
24 | - add order in getOne and getMany query
|
25 |
|
26 | 3.0.15
|
27 | - add BIGINT support
|
28 | - data field should be required by default
|
29 | - fix string required check with ''
|
30 | - default value accepts function that returns string | number
|
31 | - fix missing float data type for sql adapter
|
32 | - fix DefaultDataValidator validate default value field
|
33 | - fix convertToDataObject of bool value
|
34 | - export missing things
|
35 | - fix updateOne of database adapters
|
36 |
|
37 | 3.0.0 [Breaking change]
|
38 | - introduce dependency injection
|
39 |
|
40 | 2.5.0
|
41 | - update and fix Table Mapper bug
|
42 |
|
43 | 2.4.4 [Breaking change]
|
44 | - single port for HTTP and Socket
|
45 | - unify validator decorators
|
46 | - add logic and data field name for model
|
47 | - fix some validation logic
|
48 |
|
49 | 2.3.5 [Breaking change]
|
50 | - Change DataTable decorator signature
|
51 | - Change DataField decorator signature
|
52 |
|
53 | 2.3.4
|
54 | - Allow DefaultSqlAdapter to omit migration
|
55 |
|
56 | 2.3.2
|
57 | - DefaultEnvProvider parses simple env without env prefix
|
58 |
|
59 | 2.3.1
|
60 | - fix DefaultStaticFileController
|
61 |
|
62 | 2.3.0 [Breaking change]
|
63 | - fix request upgrader, merge handlers
|
64 | - add new controller metadata interface, change HttpHandlerMetadata to ControllerHandlerMetadata
|
65 |
|
66 | 2.2.1
|
67 | - fix request handler lost context when calling in lambda function, leads to wrong query, params and body passing
|
68 |
|
69 | 2.2.0 [Breaking change]
|
70 | - Fix handler query, params, body async resolve
|
71 | - Add @PermissionGroup for controller, modify @Permission for handler
|
72 | - Reorder @Validator parameters
|
73 |
|
74 | 2.1.13
|
75 | - refactor transaction
|
76 | - DefaultHttpResourceController skips skipped field in model when createResource and updateResource
|
77 | - fix ModelMetadata dependency sort
|
78 |
|
79 | 2.1.12
|
80 | - fix transaction bug in DefaultSqlAdapter, DefaultNoSqlAdapter
|
81 |
|
82 | 2.1.11 [Breaking change]
|
83 | - remove env provider from AppContext. We recommend to fully configure the app with env provider before running it.
|
84 |
|
85 | 2.1.10
|
86 | - add warning when override controller route
|
87 | - fix DefaultEnvProvider parsing boolean
|
88 | - add CORS and body parser default implementation
|
89 | - add transaction support in database adapter
|
90 |
|
91 | 2.1.9
|
92 | - fix DefaultHttpResourceController missing case for array value in getAllResources
|
93 |
|
94 | 2.1.8
|
95 | - fix DefaultNoSqlAdapter requires primary key when autoInc with number data type (again, wtf)
|
96 |
|
97 | 2.1.7
|
98 | - fix DefaultNoSqlAdapter requires primary key when autoInc with number data type
|
99 | - populate autoInc primary key when insert rather than when get
|
100 |
|
101 | 2.1.6
|
102 | - fix DefaultSqlAdapter updateMany return 0 when updated value matches found value
|
103 |
|
104 | 2.1.5
|
105 | - default HttpResourceController getAllResources has query operator accepts primary key and foreign key query as an array of ids
|
106 | - default HttpResourceController getAllResources has query operator accepts string key as regular expression
|
107 | - add new regex operator for database adapter
|
108 |
|
109 | 2.1.4
|
110 | - fix Boolean converting in DefaultDataValidator, missing data type in DefaultHttpResourceController
|
111 |
|
112 | 2.1 [Breaking change]
|
113 | - FileLogMedia rotation by number of day
|
114 | - remove using of callback in ClaireBuilder
|
115 | - add implementation to almost all abstract classes and provider AppContext in init function
|
116 | - fix absolute sequelize-cli call
|
117 | - Controller: @OpenAccess decorator to by pass AuthorizationProvider
|
118 | - DefaultEnvProvider: add fileNameResolver
|
119 | - add SubSet DataValidationRule
|
120 | - add query validation for DefaultHttpResourceController
|
121 | - add RBAC and IAcccessCondition, ConditionValueType
|
122 | - fix DefaultApiDocController exception when getting mount points
|
123 | - Modify initable interface to include stop
|
124 | - Fix not bootstrap bug
|
125 | - Add stoppable to Initable interface
|
126 |
|
127 | 2.0 [Breaking change]
|
128 | - refactor set request handler
|
129 | - abstract DefaultMongoDBAdapter to DefaultNoSqlAdapter
|
130 | - rename Ws to Socket for all classes
|
131 | - add DefaultApiDocController for exposing api document
|
132 | - allow undefined in log media, controller and service array
|
133 |
|
134 | 1.9.0 [Breaking change]
|
135 | - change HTTP controller decorator to Mapping
|
136 | - add request params validation and data type parsing
|
137 | - improve log readability
|
138 | - fix bug of pre-using model -> injection of models
|
139 | - adding log of HTTP method in DefaultHttpErrorHandler
|
140 | - fix saveOne/saveMany does not populate default value
|
141 | - fix findOne not check for primaryType for auto id
|
142 |
|
143 | 1.8.0 [Breaking change]
|
144 | - refactor WsChannelHandler, using Message decorator
|
145 | - update dependencies and test
|
146 |
|
147 | 1.7.0 [Breaking change]
|
148 | - getEnvProvider.load receive class argument instead of generic argument
|
149 | - claire.start return Promise<IAppContext> and throw ClaireError
|
150 | - fix bug: claire.start does not require argument
|
151 |
|
152 | 1.6 [Breaking change]
|
153 | - refactor IQueryProvider and IQuery
|
154 | - model does no longer need of constructor at definition
|
155 |
|
156 | 1.5 [Breaking change]
|
157 | - remove TableMapper Encoding decorator
|
158 | - change in DefaultEnvProvider: now using EnvTemplate decorator and EnvVar decorator
|
159 | - remove operatorAliases in sequelize option
|
160 |
|
161 | 1.4 [Breaking change]
|
162 | - getOne does no more throw Exception. F\*ck you getOne. F\*ck me too.
|
163 |
|
164 | 1.3 [Breaking change]
|
165 | - Initable init function return Promise<void>
|
166 | - add boolean type to QueryOperator
|
167 |
|
168 | 1.2 [Breaking change]
|
169 | - remove HttpRouteHandler and getRoutes in AbstractHttpController, using decorator instead
|
170 | - remove controller implementation of Initable
|
171 | - DefaultStaticController has mount path of "/static"
|
172 | - fix HttpRouteHandler not init prototype
|
173 |
|
174 | 1.1
|
175 | - remove mandatory of responder, middleware, requestValidator, responseValidator in HttpRouteHandler
|
176 | - remove generic from IHttpRequest
|
177 | - add string validation for DefaultDataValidator
|
178 | - add strictTypeCheck option to check HTTP request params (no-strict) and request body (strict)
|
179 | - add projection option to getOne and getMany
|
180 |
|
181 |
|
182 |
|
183 |
|
184 |
|
185 |
|
186 |
|
187 |
|
188 |
|
189 |
|
190 |
|
191 |
|
192 |
|
193 |
|
194 |
|
195 |
|
196 |
|
197 |
|