1 | # Architect changelog
|
2 |
|
3 | ---
|
4 | Also see:
|
5 | - [Architect Functions changelog](https://github.com/architect/functions/blob/master/changelog.md)
|
6 | ---
|
7 |
|
8 | ## [6.4.0] 2020-05-17
|
9 |
|
10 | ### Added
|
11 |
|
12 | - Deploy can now deploy directly deploy single functions or groups of functions to Lambda by providing a path; examples:
|
13 | - `arc deploy src` will dirty deploy all of `./src`
|
14 | - `arc deploy src/http` will dirty deploy all of `./src/http`
|
15 | - `arc deploy src/events/foo` will dirty deploy `./src/events/foo`
|
16 | - As a reminder: direct deployments should be considered temporary / for testing only, and will be overwritten by any deployments coming in from a proper full deploy operation
|
17 | - Fixes #625, shout out to @filmaj for this awesome feature! 🔥
|
18 | - Adds Yarn support to Sandbox and Hydrate
|
19 | - Improved default caching behavior for static assets; fixes #273
|
20 | - Any assets that don't have `cache-control` explicitly set will now default to using `ETag` in order to improve the reliability of cache invalidation
|
21 | - HTML & JSON responses still default to anti-caching headers
|
22 | - Added path peeking (aka pretty URLs); fixes #269
|
23 | - URLs delivered via `proxy` no longer require a trailing slash!
|
24 | - Example: to load `/foo/index.html`, you used to have to request `/foo/`
|
25 | - Now, if `/foo` is requested, `proxy` will automatically try peeking into `/foo` to see if it contains `/foo/index.html` – if not, it'll 404 as expected
|
26 | - Added ETag support to Sandbox static asset serving
|
27 | - Adds Sandbox support for `multiValueHeaders` in response object; fixes #764, thanks @andybee!
|
28 | - Added support for arbitrary static asset config mapping
|
29 | - Pass proxy `config.assets` a `static.json`-like static asset object
|
30 | - Added support for configuring `ruby2.7` and `dotnetcore3.1` runtimes
|
31 |
|
32 |
|
33 | ### Changed
|
34 |
|
35 | - If creating a FIFO queue, set `ContentBasedDeduplication` to be enabled by default; thanks @filmaj!
|
36 |
|
37 |
|
38 | ### Fixed
|
39 |
|
40 | - Fixed an issue where `multiValueHeaders` may conflict with `headers` values for `Content-Type`; thanks @andybee!
|
41 | - Fixed an issue where errors weren't being handled if the database port conflicted on startup; thanks @exalted!
|
42 | - Custom `@aws` WebSocket routes will now have their dependencies correctly hydrated, thanks @mawdesley!
|
43 | - Fixed Sandbox error `ERR_FEATURE_UNAVAILABLE_ON_PLATFORM` in Node.js 14; fixes #780, ht @stegosource
|
44 | - Fixed issue where `404` responses delivered from `@static` may be inadvertently cached by CDNs
|
45 |
|
46 | ---
|
47 |
|
48 | ## [6.3.5] 2020-04-18
|
49 |
|
50 | ### Added
|
51 |
|
52 | - Added Sandbox watcher pausing
|
53 | - The presence of `_pause-architect-sandbox-watcher` in your operating system's `$TMP` directory (usually `/tmp` or `c:\windows\temp`) will temporarily pause the Sandbox watcher
|
54 | - This means Sandbox can remain open during deploys and neither `arc sandbox` or `arc deploy` should interfere with the other's dependency hyration
|
55 | - This is also useful when combined with tools like `lint-staged` to ensure automated file stashing within `src/shared` and `src/views` doesn't result in hydration failures
|
56 | - Sandbox cleans up this file on startup, jic
|
57 | - Allow Architect's CDN checks / processes to be disabled
|
58 | - This means you can now configure and manage your own CDNs entirely via Macros; fixes #750, thanks @jgallen23!
|
59 | - Syntax: `@cdn false` || `@cdn disable` || `@cdn disabled`
|
60 |
|
61 |
|
62 | ### Changed
|
63 |
|
64 | - Improved Sandbox's missing dependency warnings to provide better instructions on how to install a missing dependency if the function in question does not already have a `package.json` file; /ht @exalted
|
65 |
|
66 |
|
67 | ### Fixed
|
68 |
|
69 | - Fixed issue where explicit (or empty) returns in functions would provide a red herring error
|
70 | - When a non-existent `@events` Lambda is invoked, Sandbox will now gracefully fail
|
71 | - Updated dependency status checker, fixes false positive rehyhdration of packages installed by archive or git repo
|
72 | - Fixed issue where custom named deployments (`deploy --name`) wouldn't work with `static`; fixes #759, thanks @jgallen23!
|
73 | - Fixed issue where deploying static assets may deploy to the wrong bucket if additional buckets are defined in Macros; fixes #750, thanks @clintjhill + @jgallen23!
|
74 |
|
75 | ---
|
76 |
|
77 | ## [6.3.4] 2020-04-10
|
78 |
|
79 | ### Fixed
|
80 |
|
81 | - Sandbox (and other workflows) should now restore the terminal cursor more reliably when quit
|
82 | - Sandbox now preserves leading / trailing whitespace in console logs
|
83 | - Fixed issue where `.arc-config` files with an `@aws timeout` value of exactly `900` (15 minutes) would not be respected in Sandbox
|
84 |
|
85 | ---
|
86 |
|
87 | ## [6.3.3] 2020-03-31
|
88 |
|
89 | ### Added
|
90 |
|
91 | - Adds Sandbox warning for out of bounds dependency loads
|
92 | - This helps to ensure that potential side effects of running Node.js locally – such as the `require` algorithm traversing the filesystem outside the boundaries of the function in question – are less likely to be discovered after deploying to live AWS infra
|
93 |
|
94 |
|
95 | ### Fixed
|
96 |
|
97 | - Updated the call that starts Sandbox to ensure it initiates the filesystem watcher
|
98 |
|
99 | ---
|
100 |
|
101 | ## [6.3.2] 2020-04-10
|
102 |
|
103 | ### Fixed
|
104 |
|
105 | - Fixed bug with static mocks in Package
|
106 |
|
107 | ---
|
108 |
|
109 | ## [6.3.0 - 6.3.1] 2020-03-24
|
110 |
|
111 | ### Added
|
112 |
|
113 | - Added early support for deploying API Gateway HTTP APIs (currently only via [Macro](https://github.com/architect/arc-macro-http-api))
|
114 | - Lambda's payload size limits are now respected and mocked in Sandbox; payloads exceeding 6MB will fail to execute, as they would in AWS
|
115 |
|
116 |
|
117 | ### Changed
|
118 |
|
119 | - If `@http` is defined, a static bucket will now be automatically be created
|
120 | - `@http` makes `@static` implicit; `@static` still serves to configure static asset hosting
|
121 | - If you don't use `@http` you can still use `@static` to independently create and configure static asset hosting
|
122 | - Updated `http-proxy` to support API Gateway HTTP APIs (say that three times fast)
|
123 |
|
124 |
|
125 | ### Fixed
|
126 |
|
127 | - Fixed Sandbox issue where HTTP requests with large body payloads error with E2BIG; fixes #639, /ht @dawnerd
|
128 |
|
129 | ---
|
130 |
|
131 |
|
132 | ## [6.2.5] 2020-03-19
|
133 |
|
134 | ### Changed
|
135 |
|
136 | - Architect now falls back to a very basic default project if an Architect project manifest file is not found in the root of the working directory
|
137 | - Requests in Sandbox that include query string arrays like `?ids=1&ids=2&ids=3&ids=4` are now consistent with API Gateway's request `multiValueQueryStringParameters` property; thanks @defionscode!
|
138 | - Deploy now ensures dependency hydration occurs before macros in the deploy process, enabling macros to mutate dependencies and shared files during a deploy
|
139 | - A nice example macro to use is `@architect/arc-macro-node-prune`, which tidies up all the junk in your functions' `node_modules` directory
|
140 | - Minor improvements to auto-generated boilerplate function files
|
141 |
|
142 |
|
143 | ### Fixed
|
144 | - `.arc-env` env vars now support a wider variety of special characters (such as `+`, `@`, `#`, etc.) if quoted, e.g. `FOO "sp#ci@lch+rs"`; fixes #638
|
145 | - Fixed Architect project manifest syntax errors and error reporting
|
146 |
|
147 | ---
|
148 |
|
149 | ## [6.2.4] 2020-02-29
|
150 |
|
151 | ### Added
|
152 |
|
153 | - Added mocking of AWS's `multiValueHeaders` into Sandbox requests
|
154 | - Also added mocking of the headers AWS drops from requests
|
155 |
|
156 |
|
157 | ### Fixed
|
158 |
|
159 | - Fixes differences in Sandbox between AWS's inconsistent header casing and our existing lowcase-normalized header casing; fixes #698
|
160 |
|
161 | ---
|
162 |
|
163 | ## [6.2.1 - 6.2.3] 2020-02-13
|
164 |
|
165 | ### Changed
|
166 |
|
167 | - Sandbox now ensures `NODE_ENV` is one of `testing`, `staging`, or `production` (defaulting to `testing`)
|
168 | - Fix bad SQS in CloudFormation
|
169 | - Updates deps
|
170 |
|
171 |
|
172 | ### Fixed
|
173 |
|
174 | - Fixed issue in Sandbox where pulling changes down with git (or Mercurial) would not trigger filesystem changes (e.g. auto-hydration, etc.); fixes #673
|
175 | - Removed validation from setting your app's environment variables (e.g. `arc env testing FOO bar`), use whatever you like! Fixes #669, thanks @rbuckingham!
|
176 | - Fixed issue within Architect Functions that caused issues in certain test harnesses that automatically set `NODE_ENV`
|
177 | - Fixed issue that may cause Sandbox to stall when called via the Architect CLI
|
178 |
|
179 | ---
|
180 |
|
181 | ## [6.2.0] 2020-02-04
|
182 |
|
183 | ### Added
|
184 |
|
185 | - Added support for running multiple Sandboxes at the same time; fixes #635
|
186 | - No more conflicting events and ports when running multiple simultaneous local Architect projects
|
187 | - Also, you can now manually configure your `@events` port with `ARC_EVENTS_PORT`, and `@tables` port with `ARC_TABLES_PORT`
|
188 | - Note: while unlikely, if you already manually specify your Sandbox's port, this may be a breaking change to your local workflow in two circumstances:
|
189 | - 1) You use Architect Functions; to fix, upgrade to Functions `3.6` or later
|
190 | - 2) You hardcode an `@events` client to port `3334` or DynamoDB client to port `5000`; you should now read the ports from `ARC_EVENTS_PORT` and `ARC_TABLES_PORT`
|
191 | - This change is **NOT breaking to any live AWS / production infra**
|
192 | - Deploy dry-run flag: `deploy --dry-run`; fixes #649
|
193 | - Test your `@macros`, function hydration, CloudFormation / SAM template files, and other deployment-related operations without actually building any live infra
|
194 | - Dry-run mode runs through all deploy operations necessary to generate your app's CloudFormation / SAM template files
|
195 | - **Heads up:** the AWS CLI requires a live, active S3 bucket to generate your app's templates; however no **live infra will be created** from these templates
|
196 |
|
197 |
|
198 | ### Changed
|
199 |
|
200 | - Update dependencies
|
201 |
|
202 |
|
203 | ### Fixed
|
204 |
|
205 | - Fixed Sandbox issue where DynamoDB (and other `aws-sdk`) calls may time out if a `~/.aws/credentials` file is not present
|
206 | - Fixed issue with shared code hydration in `python3.8`; fixes #650, thanks @rbuckingham!
|
207 | - Added support for `deno` in `utils.getRuntime`
|
208 |
|
209 | ---
|
210 |
|
211 | ## [6.1.9] 2020-02-03
|
212 |
|
213 | ### Added
|
214 |
|
215 | - Better support for quiet mode in Sandbox:
|
216 | - Via params: `sandbox.start({quiet: true})`
|
217 | - Via env vars: `ARC_QUIET` (or legacy `QUIET`)
|
218 | - Fixes #621; thanks @konsumer!
|
219 | - Adds discrete `sandbox.end([callback])` method for shutting down the Sandbox in test environments
|
220 | - This method takes an optional callback or returns a promise
|
221 | - Sandbox now sets the `ARC_CLOUDFORMATION` env var used by Architect Functions and other libs
|
222 | - This only occurs when running Sandbox against live infra (specifically: `NODE_ENV` = `staging` || `production`),
|
223 |
|
224 |
|
225 | ### Changed
|
226 |
|
227 | - When called as module, `sandbox.end` now calls an optional callback or returns a promise; fixes #622, thanks @konsumer!
|
228 | - Sandbox now only starts the `@events` + `@queues` bus and `@tables` DB when called for by the Architect project manifest
|
229 |
|
230 |
|
231 | ### Fixed
|
232 |
|
233 | - Improved logging for WebSocket invocations to be less confusing about potential non-error states when message action not found; fixes @sandbox#228
|
234 |
|
235 | ---
|
236 |
|
237 | ## [6.1.8] 2020-01-29
|
238 |
|
239 | ### Added
|
240 |
|
241 | - Added `--static` flag to init to create a basic static asset app (instead of one with a `@http get /` function)
|
242 | - Example: `arc init --static ./myapp` or `npm init @architect --static ./myapp`
|
243 |
|
244 |
|
245 | ### Fixed
|
246 |
|
247 | - Fixed Sandbox issue with secondary index (`@indexes`) naming schemas first introduced with Architect 6; fixed #45, thanks @eshikerya & @konsumer
|
248 |
|
249 |
|
250 | ### Changed
|
251 |
|
252 | - The default `.arc` file generated in new projects no longer includes a boilerplate for `@aws bucket`
|
253 | - Updated dependencies
|
254 |
|
255 | ---
|
256 |
|
257 | ## [6.1.6 - 6.1.7] 2020-01-24
|
258 |
|
259 | ### Added
|
260 |
|
261 | - `@queues` are FIFO by default now; you can opt-out with `.arc-config` `fifo false`
|
262 | - `arc.queues.publish` will now accept a `groupID` parameter for ordering within a FIFO queue
|
263 | - Read more about queues! https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
|
264 |
|
265 | ### Fixed
|
266 |
|
267 | - Queues will sync VisibilityTimeout to the Lambda timeout
|
268 |
|
269 | ---
|
270 |
|
271 | ## [6.1.5] 2020-01-23
|
272 |
|
273 | ### Fixed
|
274 |
|
275 | - Fixed local WebSocket port in `ARC_WSS_URL` in Sandbox
|
276 |
|
277 | ---
|
278 |
|
279 | ## [6.1.4] 2020-01-22
|
280 |
|
281 | ### Added
|
282 |
|
283 | - Added `ARC_WSS_URL` env var on Sandbox startup (matches the environment variable behavior of Architect 6.0.25); fixed #225
|
284 |
|
285 |
|
286 | ### Changed
|
287 |
|
288 | - Updated default Lambda runtime to match AWS's default: `nodejs12.x` (formerly `nodejs10.x`); fixed #609
|
289 | - This means that upon your next deploy, any Lambdas that do not have a runtime specified will automatically be updated to `nodejs12.x`
|
290 | - If you rely on the default runtime selection and would prefer to retain Node.js 10, you can either:
|
291 | - Add `runtime nodejs10.x` to the `@aws` pragma of your Architect project manifest (`.arc`)
|
292 | - Add a `.arc-config` file to the root of any individual functions you'd like to continue using `nodejs10.x` and add the same `@aws` pragma config specified above
|
293 | - Read more here: https://arc.codes/reference/arc-config/runtime
|
294 | - Quick example:
|
295 | ```
|
296 | # .arc || src/http/get-index/index.js
|
297 | @aws
|
298 | runtime nodejs10.x
|
299 | ```
|
300 | - Updated dependencies
|
301 |
|
302 | ---
|
303 |
|
304 | ## [6.1.3] 2020-01-21
|
305 |
|
306 | ### Fixed
|
307 |
|
308 | - Fixes issue with hydration of shared code in functions using `nodejs12.x`; thanks @bardbachmann!
|
309 |
|
310 |
|
311 | ### Updated
|
312 |
|
313 | - Update dependencies
|
314 |
|
315 | ---
|
316 |
|
317 | ## [6.1.2] 2020-01-20
|
318 |
|
319 | ### Added
|
320 |
|
321 | - A `PointInTimeRecovery` attribute may now be added to tables defined in `.arc` for DynamoDB point-in-time recovery support; thanks @defionscode!
|
322 |
|
323 | ---
|
324 |
|
325 | ## [6.1.1] 2020-01-18
|
326 |
|
327 | ### Added
|
328 |
|
329 | - An `encrypt` attribute may now be added tables defined in `.arc` for DynamoDB encryption support using customer or AWS managed KMS keys; thanks @defionscode!
|
330 |
|
331 | ---
|
332 |
|
333 | ## [6.1.0] 2020-01-13
|
334 |
|
335 | ### Added
|
336 |
|
337 | - Finally: Architect now automatically creates a deployment bucket if one is not specified!
|
338 | - If you already have a deployment bucket specified, nothing changes; Architect will continue using that
|
339 | - If a deployment bucket was automatically created in a prior deployment and now no longer exists (or access to it is no longer available), a new bucket will be created and your app's configuration will be updated
|
340 | - This also means the `@aws` pragma is no longer strictly necessary to deploy to AWS with Architect; you can now work completely from a `~/.aws/credentials` file or env vars
|
341 |
|
342 |
|
343 | ### Fixed
|
344 |
|
345 | - Allow reading and destroying logs from `ws` paths; fixes @architect#538 + @logs#98, ht @jessehattabaugh, thanks @austinkelleher!
|
346 | - Additionally fixes destroying from paths that include `000`
|
347 |
|
348 | ---
|
349 |
|
350 | ## [6.0.29] 2020-01-07
|
351 |
|
352 | ### Added
|
353 |
|
354 | - AWS credentials can now be loaded via env vars (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`), which enables AWS STS and tools such as [AWS Vault](https://github.com/99designs/aws-vault)
|
355 | - Thus, Architect no longer requires a `~/.aws/credentials` file to run
|
356 | - Also allows local creds file to be overriden by env vars by specifying `ARC_AWS_CREDS=env`
|
357 | - Also added AWS session token support via setting `AWS_SESSION_TOKEN` env var
|
358 | - Fixes `utils` #26; thanks @ryan-roemer!
|
359 | - Enabled AWS `credential_process` usage via improved credential handling; fixes #582 thanks @defionscode!
|
360 |
|
361 |
|
362 | ### Fixed
|
363 |
|
364 | - Credentials are now properly backfilled with dummy values for various workflows
|
365 | - This ensures certain specific workflows (such as local Sandbox usage with `@tables`) won't crash or stall without a valid `~/aws.credentials` file present
|
366 | - Fixed Sandbox errors related to missing `aws-sdk` dependency
|
367 |
|
368 |
|
369 | ### Updated
|
370 |
|
371 | - Updated dependencies
|
372 |
|
373 | ---
|
374 |
|
375 | ## [6.0.28]
|
376 |
|
377 | FIXME
|
378 |
|
379 | ---
|
380 |
|
381 | ## [6.0.27]
|
382 |
|
383 | FIXME
|
384 |
|
385 | ---
|
386 |
|
387 | ## [6.0.26] 2019-12-13
|
388 |
|
389 | ### Added
|
390 |
|
391 | - Sandbox now passes full request params from WebSocket clients on `connect` and `disconnect`
|
392 | - Now in addition to `request.requestContext.connectionId`, you'll have `request.headers`, and `request.queryStringParameters` (if present)
|
393 | - Sandbox now only passes `request.body` to WebSocket functions that receive `message`s (instead of adding an empty `body` object to all requests)
|
394 | - Added proper emulation of API Gateway v2's WebSocket connection authorization
|
395 | - Returning an object containing `statusCode` 2xx allows a WebSocket client to connect
|
396 | - Returning any other status code will hang up on the request
|
397 |
|
398 | ---
|
399 |
|
400 | ## [6.0.25] 2019-12-02
|
401 |
|
402 | ### Changed
|
403 |
|
404 | - Now prints WebSockets URLs upon deployment, thanks @jessehattabaugh!
|
405 |
|
406 |
|
407 | ### Fixed
|
408 |
|
409 | - Fixes regression related `staging` and `production` WebSockets names and paths, thanks @jessehattabaugh!
|
410 | - WebSockets APIs named `${appname}Websocket` are now named `${appname}Websocket${stage}` (like `@http` APIs)
|
411 | - `production` WebSockets paths now correctly reflect the production stage (e.g. `longawsurl.com/production`)
|
412 | - If you're using the `ARC_WSS_URL` env var, be sure to also update `@architect/functions`
|
413 |
|
414 | ---
|
415 |
|
416 | ## [6.0.24] 2019-12-02
|
417 |
|
418 | ### Added
|
419 |
|
420 | - Adds `CAPABILITY_AUTO_EXPAND` for nested stack deployments; fixes #436, thanks @jgallen23!
|
421 |
|
422 | ---
|
423 |
|
424 | ## [6.0.23] 2019-11-19
|
425 |
|
426 | ### Added
|
427 |
|
428 | - Added support for `nodejs12.x`, `python3.8`, and `java11` runtimes
|
429 |
|
430 |
|
431 | ### Changed
|
432 |
|
433 | - Updated dependencies
|
434 |
|
435 |
|
436 | ### Fixed
|
437 |
|
438 | - Fixed printing of unnecessary ANSI escape characters in CI environments (`CI` env, or not TTY output)
|
439 |
|
440 | ---
|
441 |
|
442 | ## [6.0.21] 2019-11-19
|
443 |
|
444 | ### Fixed
|
445 |
|
446 | - Adds `ArcWebSocketPolicy` to the generated IAM Role
|
447 | - Adds `ARC_WSS_URL` environment variable to all Lambdas if `@ws` is defined
|
448 | - Fix `.arc-config` properties: `layers` and `policies`
|
449 | - Adding one layer or policy per line: `layers my:arn:here` or `policies my:arn:here`
|
450 | - Adding ARNs as a list (two spaces indented below `layers` or `policies`)
|
451 | - eg:
|
452 |
|
453 | ```arc
|
454 | @aws
|
455 | layers
|
456 | my:arn:here
|
457 | my:other:arn:here
|
458 | ```
|
459 |
|
460 | ### Removed
|
461 |
|
462 | - Generated CloudFormation template output value `WSS` is now a plain URL without `wss://` or `https://` protocol, without the `/staging` and `/production` path part, and the suffix `@connections` (which was removed by AWS from the `ApiGatewayManagementApi`)
|
463 | - Removed `ArcRoleReflection` policy from the generated IAM Role
|
464 | - Removed `PYTHONPATH` unless a Lambda function explicitly has a Python runtime
|
465 |
|
466 | ---
|
467 |
|
468 | ## [6.0.20] 2019-11-5
|
469 |
|
470 | ### Added
|
471 |
|
472 | - Integrates new `@architect/create` module for bootstrapping projects and initializing project files
|
473 | - Added ability to specify project name and install path, e.g. `arc init ./foo` creates a dir named `foo` in your current dir, and creates a new Arc project named `foo` in there
|
474 |
|
475 |
|
476 | ### Changed
|
477 |
|
478 | - Updated dependencies (which are also now using `@architect/create`)
|
479 | - Updated CLI documentation to reflect current functionality of `arc env`
|
480 |
|
481 |
|
482 | ### Fixed
|
483 |
|
484 | - Fixes issue when `@tables` definition includes `stream true`; thanks @gr2m!
|
485 | - Fixes and `arc help <command>` command
|
486 | - Runtime flag now works for project creation: `runtime`, `--runtime`, or `-r` + `node`, `js`, `python`, `py`, `ruby`, `rb` initializes with Node, Python, or Ruby
|
487 | - Removed some unnecessary dependencies
|
488 |
|
489 | ---
|
490 |
|
491 | ## [6.0.19] 2019-10-17
|
492 |
|
493 | ### Fixed
|
494 |
|
495 | - Fixes failed deploys if file type is unknown by common mime-type database; resolves #56, thanks @mikemaccana!
|
496 | - Fixes paths for deployment of assets on Windows; resolves #58, thanks @mikemaccana!
|
497 |
|
498 | ---
|
499 |
|
500 | ## [6.0.18] 2019-10-15
|
501 |
|
502 | ### Added
|
503 |
|
504 | - Infrequently prints version update notifications to CLI
|
505 |
|
506 | ---
|
507 |
|
508 | ## [6.0.15 - 6.0.17] 2019-10-15
|
509 |
|
510 | ### Added
|
511 |
|
512 | - Added update notifier to help ensure folks are running the (hopefully) least buggy, most stable, most secure version of Architect
|
513 |
|
514 |
|
515 | ### Changed
|
516 |
|
517 | - Updated dependencies
|
518 |
|
519 |
|
520 | ### Fixed
|
521 |
|
522 | - Fixes deployment issue if `get /` is not specified in `@http`; resolves @package#27, /ht @grahamb and @jeffreyfate!
|
523 |
|
524 |
|
525 | ### Changed
|
526 |
|
527 | - Improves error states for missing static configs, 404s, etc. when using `@http` and/or `@static` with `arc.http.proxy` or without defining `get /`
|
528 |
|
529 | ---
|
530 |
|
531 | ## [6.0.15] 2019-10-14
|
532 |
|
533 | ### Changed
|
534 |
|
535 | - Legacy WebSockets paths on the filesystem are now formally deprecated
|
536 | - Your default three WebSockets paths should be: `src/ws/default`, `src/ws/connect`, `src/ws/disconnect`
|
537 | - If you're using legacy WebSockets paths (either `src/ws/ws-default` or `src/ws/ws-$default`), simply remove `ws-[$]` and you should be all set!
|
538 |
|
539 |
|
540 | ### Fixed
|
541 |
|
542 | - Fixed issue when emitting to WebSockets with Arc Functions (`arc.ws.send`); resolves #48, thanks @andybee + @bvkimball!
|
543 | - Fixed issue where `sandbox` may not have correctly resolved some custom WebSocket actions
|
544 | - Fixed HTTP request with `body` and no `Content-Type` header; resolves #102, thanks @andybee!
|
545 | - Fixed issue where killed subprocesses would not trigger timeouts; resolves #30, /ht @mikemaccana
|
546 | - Fixed issue where functions with legacy runtimes may not have been fully hydrated
|
547 |
|
548 | ---
|
549 |
|
550 | ## [6.0.14] 2019-10-11
|
551 |
|
552 | ### Added
|
553 |
|
554 | - Added support for `@static fingerprint true` in root spa / proxy requests
|
555 | - This enables Architect projects to deliver fully fingerprinted static assets while also ensuring that each file is appropriately cached by clients and network infra
|
556 | - Also includes support for build-free calls between your fingerprinted static assets
|
557 | - Example: in `public/index.html`, use the following syntax to automatically replace the local / human-friendly filename reference to the deployed fingerprinted filename:
|
558 | - `${arc.static('image.png')}` will be automatically replaced by `image-a1c3e5.png`
|
559 | - Or `${STATIC('image.png')}` (which is the same thing, but shoutier)
|
560 | - Note: although those look like JS template literal placeholders, they're intended to live inside non-executed, static files within `public/` (or `@static folder foo`)
|
561 |
|
562 |
|
563 | ### Changed
|
564 |
|
565 | - Updated dependencies
|
566 | - Ensures html / json are published to S3 with anti-cache headers
|
567 |
|
568 |
|
569 | ### Fixed
|
570 |
|
571 | - Restores static asset pruning (`arc deploy --prune` or `arc deploy --static --prune`)
|
572 | - Fixes issues with parsing certain properties in `arc.json`, thanks @mikemaccana!
|
573 | - Fixed issue that may prevent `repl` from working in more recent versions
|
574 | - Add anti-caching headers to `sandbox` 404 response
|
575 | - Fixes root spa / proxy requests when Architect and/or Sandbox are globally installed; resolves #92 /ht @grahamb
|
576 |
|
577 | ---
|
578 |
|
579 | ## [6.0.13] 2019-10-02
|
580 |
|
581 | ### Fixed
|
582 |
|
583 | - Fixed issue where with `@static fingerprint true` enabled, the `static.json` file would not be copied into deployed functions' shared dirs; thanks @dawnerd + @jgallen23!
|
584 | - Removed unnecessary second-order dependency, which should lighten up the Architect install size a bit
|
585 |
|
586 |
|
587 | ### Changed
|
588 |
|
589 | - Updated dependencies
|
590 |
|
591 | ---
|
592 |
|
593 | ## [6.0.11 - 6.0.12] 2019-09-29
|
594 |
|
595 | ### Added
|
596 |
|
597 | - `sandbox` Auto-hydration received a bunch of nice upgrades:
|
598 | - Auto-hydration now detects changes to the state of your installed Node dependencies, and rehydrates if necessary; for example:
|
599 | - You're working on a project, and a teammate updates a dependency in `get /foo` from version `1.0.0` to `1.1.0`
|
600 | - Upon your next git pull, `sandbox` will detect the dependency update in `get /foo` and automatically install version `1.1.0` for you
|
601 | - Auto-hydration now has a rate limit of one change every 500ms to prevent recursive or aggressive file updates
|
602 | - Auto-hydration now has `@static folder` support
|
603 | - Auto-hydration now only hydrates the shared files necessary
|
604 | - For example: if you change a file in `src/views`, it will only update your `@views` functions, and not attempt to rehydrate all your project's functions with `src/shared`
|
605 | - Events now have a timestamp and improved formatting
|
606 | - Beta: `sandbox` init script support!
|
607 | - `sandbox` will now run the init script of your choosing upon startup after all subsystems have started up:
|
608 | - `scripts/sandbox-startup.js` - a CommonJS module, receives your parsed Arc project as a parameter, supports async/await
|
609 | - `scripts/sandbox-startup.py` - a Python script
|
610 | - `scripts/sandbox-startup.rb` - a Ruby script
|
611 | - Startup auto-hydration now hydrates `src/views` and `src/shared`
|
612 | - Added support for `@static folder` to static asset `fingerprint`ing
|
613 |
|
614 |
|
615 | ### Changed
|
616 |
|
617 | - Improvements to the conditions under which the HTTP server starts, shuts down, and restarts; fixes `sandbox` #65
|
618 | - Improved `sandbox` async error copy (displayed when execution does not complete)
|
619 | - Proxied requests in `sandbox` now sends a proper `req.resource`, which can resolve some SPA bugs, esp when used with newer Arc Functions
|
620 | - `sandbox` now respects and errors on invalid response params for proper Architect 6 compatibility; fixes `sandbox` #49
|
621 | - Updates `sandbox` to Dynalite to `3.0.0`, thanks @mhart!
|
622 | - Better 404 / file missing handling in `sandbox` when using `http.proxy` (or loading assets without `@http get /` specified)
|
623 | - `hydrate --update` now properly inventories its update operations, avoiding superfluous work
|
624 |
|
625 |
|
626 | ### Fixed
|
627 |
|
628 | - Fixes correct inventory paths for `src/ws/*`, which should in turn fix WebSocket function hydration, thanks @mikemaccana!
|
629 | - When auto-hydrating functions upon startup, `sandbox` no longer hydrates `src/views` and `src/shared` with each function
|
630 | - Fixed issue where `hydrate`'s shared file copying may have leaked across Lambda executions in rare circumstances
|
631 | - Fixed undefined message in `hydrate` init
|
632 | - Improved `hydrate` error bubbling
|
633 | - Formatting and line breaks in `hydrate` printer return should now more closely (or exactly) match console output
|
634 | - Fixed issue where in certain circumstances `get /` wouldn't reload `sandbox` after a change to the project manifest
|
635 | - Minor fix where if you specified a `SESSION_TABLE_NAME` env var outside of `.arc-env`, `sandbox` won't clobber it
|
636 | - Fixed caching headers for various `sandbox` error states (async, timeout, etc.) to ensure your browser won't accidentally cache an error response
|
637 | - Fixes issue where binary assets delivered via `sandbox` / root may not be properly encoded
|
638 | - Fixes empty mock `context` object encoding
|
639 |
|
640 | ---
|
641 |
|
642 | ## [6.0.10] 2019-09-11
|
643 |
|
644 | ### Changed
|
645 |
|
646 | - Running `hydrate` now properly inventories its update operations, avoiding superfluous work there as well
|
647 | - Results returned by `hydrate` are now symmetrical with what's printed
|
648 | - `@http` functions are now provisioned with the `ARC_HTTP` env var, which is set to `aws_proxy`
|
649 |
|
650 |
|
651 | ### Fixed
|
652 |
|
653 | - Fixed `env` to ensure env vars were populated out of the correct region
|
654 | - `sandbox.close` will no longer throw an error if project doesn't use `@http` or `@ws`
|
655 | - Fixed reliability of `hydrate` and other Architect operations printing in CI containers and other non-TTY environments
|
656 |
|
657 | ---
|
658 |
|
659 | ## [6.0.9] 2019-09-09
|
660 |
|
661 | ### Changed
|
662 |
|
663 | - Running `hydrate` now properly inventories its install operations, avoiding superfluous work
|
664 |
|
665 |
|
666 | ### Fixed
|
667 |
|
668 | - Fixed issue where `sandbox` would hang if POST requests were sent without a body
|
669 | - Fixed `logs` to ensure log data is read out of the correct region
|
670 | - Fixed S3 permissions to enable direct asset uploading
|
671 |
|
672 | ---
|
673 |
|
674 | ## [6.0.8] 2019-09-06
|
675 |
|
676 | ### Fixed
|
677 |
|
678 | - Fixes case where user-defined region may not be respected
|
679 | - Fixes provisioning `@scheduled` functions
|
680 |
|
681 | ---
|
682 |
|
683 | ## [6.0.7] 2019-09-05
|
684 |
|
685 | ### Changed
|
686 |
|
687 | - Add clearer bucket region instructions during init
|
688 |
|
689 | ---
|
690 |
|
691 | ## [6.0.6] 2019-08-30
|
692 |
|
693 | ### Changed
|
694 |
|
695 | - Internal change; improve error handling states
|
696 |
|
697 | ---
|
698 |
|
699 | ## [6.0.5] 2019-08-28
|
700 |
|
701 | ### Added
|
702 |
|
703 | - Added initialization confirmation messages
|
704 |
|
705 |
|
706 | ### Changed
|
707 |
|
708 | - Improved boilerplate project files written during initialization
|
709 | - Updated boilerplate .arc file initialized
|
710 | - Patched vendored proxy bundle to 3.3.7
|
711 | - Updated deps
|
712 |
|
713 | ---
|
714 |
|
715 | ## [6.0.4] 2019-08-27
|
716 |
|
717 | ### Changed
|
718 |
|
719 | - Updated deps
|
720 |
|
721 | ---
|
722 |
|
723 | ## [6.0.3] 2019-08-24
|
724 |
|
725 | ### Fixed
|
726 |
|
727 | - Internal error handling change
|
728 |
|
729 |
|
730 | ### Changed
|
731 |
|
732 | - Updated deps
|
733 |
|
734 | ---
|
735 |
|
736 | ## [6.0.1 - 6.0.2] 2019-08-22
|
737 |
|
738 | ### Fixed
|
739 |
|
740 | - Fixes issue with auto-hydration of new dependencies during `sandbox` startup
|
741 | - Fixes issue with `arc deploy --static` throwing an unnecessary error after uploading files, fixes #427
|
742 | - Fixes minor copy issue in `arc deploy` reporting the incorrect static asset folder when there are no files to deploy
|
743 |
|
744 | ---
|
745 |
|
746 | ## [6.0.0] 2019-08-20
|
747 |
|
748 | ### Changed
|
749 |
|
750 | - Many things! Updates to this changelog forthcoming shortly. Arc 6.0 is a breaking change, please refer to https://arc.codes and upgrade mindfully!
|
751 |
|
752 | ---
|
753 |
|
754 | ## [5.9.24] 2019-08-05
|
755 |
|
756 | ### Fixed
|
757 |
|
758 | - Resolves issue where static assets aren't loading from `_static/` in `sandbox`, fixes #416
|
759 |
|
760 | ---
|
761 |
|
762 | ## [5.9.23] 2019-07-23
|
763 |
|
764 | ### Fixed
|
765 |
|
766 | - Fixed issue preventing Ruby functions from properly executing in `sandbox`
|
767 | - Fixed issue prevent Python functions from properly executing in Windows `sandbox`
|
768 | - Fix broken characters in Windows `sandbox` console
|
769 | - Fixes super obscure bug where certain shared files may not be included in a single function deploy
|
770 |
|
771 | ### Changed
|
772 |
|
773 | - `sandbox` context now passes an empty object (to be mocked soon!) to all runtimes
|
774 | - This deprecates the legacy AWS implementation of `context` (since retired in production) passed to `sandbox` Node functions
|
775 |
|
776 | ---
|
777 |
|
778 | ## [5.9.21-22] 2019-07-17
|
779 |
|
780 | ### Added
|
781 |
|
782 | - Adds auto-hydration to new functions without restarting `sandbox`
|
783 |
|
784 |
|
785 | ### Fixed
|
786 |
|
787 | - Fixes issue with auto-hydration on `sandbox` startup
|
788 | - Fixes potential issue in static asset deploys in Windows
|
789 |
|
790 | ---
|
791 |
|
792 | ## [5.9.20] 2019-07-15
|
793 |
|
794 | ### Added
|
795 |
|
796 | - Expanded support for static asset fingerprinting! If you've enabled fingerprinting (`@static fingerprint true`):
|
797 | - `sandbox` will regenerate your `public/static.json` file on startup
|
798 | - And whenever making any changes to your `public/` dir, `sandbox` auto-refresh will automatically regenerate `public/static.json` and re-hydrate your shared files with the latest version
|
799 |
|
800 |
|
801 | ### Fixed
|
802 |
|
803 | - `sandbox` auto-refresh now detects file deletions from `src/shared` and `src/views`
|
804 |
|
805 | ---
|
806 |
|
807 | ## [5.9.19] 2019-07-12
|
808 |
|
809 | ### Added
|
810 |
|
811 | - Adds PYTHONPATH to `sandbox` Lambda invocation for `/vendor` modules
|
812 |
|
813 | ### Fixed
|
814 |
|
815 | - Fixes `sandbox` crashing when `get /` and other functions aren't defined in `.arc` or present in the filesystem, but are requested by a client
|
816 | - Prevents startup of http server if `@http` isn't defined in `.arc`
|
817 | - Improves `sandbox` support in Windows
|
818 |
|
819 | ---
|
820 |
|
821 | ## [5.9.18] 2019-07-12
|
822 |
|
823 | ### Fixed
|
824 |
|
825 | - Fixes WebSocket provisioning issue
|
826 |
|
827 | ---
|
828 |
|
829 | ## [5.9.17] 2019-07-12
|
830 |
|
831 | ### Changed
|
832 |
|
833 | - Disables delta resource creation during deployments
|
834 | - This functionality is better served by more reliable and deterministic resource creation via the forthcoming Architect 6 release
|
835 |
|
836 | ---
|
837 |
|
838 | ## [5.9.16] 2019-07-12
|
839 |
|
840 | ### Changed
|
841 |
|
842 | - Reverts previous breaking change on WebSockets, default directories that get created are now once again `ws-connect`, `ws-default`, and `ws-disconnect`
|
843 |
|
844 | ---
|
845 |
|
846 | ## [5.9.15] 2019-06-26
|
847 |
|
848 | ### Added
|
849 |
|
850 | - Auto-refresh! `sandbox` now keeps an eye out for the following changes to your project:
|
851 | - Edits to your Architect project manifest will mount or unmount HTTP routes without having to restart `sandbox`
|
852 | - Changes to `src/shared` and `src/views` will automatically rehydrate your functions' shared code
|
853 | - More to come!
|
854 |
|
855 |
|
856 | ### Changed
|
857 |
|
858 | - Prettied up `sandbox` initialization printing a bit
|
859 |
|
860 | ---
|
861 |
|
862 | ## [5.9.14] 2019-06-25
|
863 |
|
864 | ### Added
|
865 |
|
866 | - Auto-hydration!
|
867 | - Say goodbye to running `npx hydrate` before starting new projects, cloning existing projects, or pulling down new functions
|
868 | - On startup, any functions missing dependencies on the local filesystem will now be auto-hydrated
|
869 | - Supported runtimes and dependency manifests: Node + `package.json` (requires npm >= 5.7), Python + `requirements.txt` (calls pip3), and Ruby + Gemfile (calls bundle)
|
870 |
|
871 | ---
|
872 |
|
873 | ## [5.9.10-13] 2019-06-24
|
874 |
|
875 | ### Fixed
|
876 |
|
877 | - Ensures `sandbox` starts in the cases of:
|
878 | - No local AWS credentials file (e.g `~/.aws/credentials`)
|
879 | - The local AWS credentials file is present, but is missing the requested profile name
|
880 | - Fixes #382, 391
|
881 | - Fixed issue with `hydrate` caused by an errant merge
|
882 |
|
883 | ---
|
884 |
|
885 | ## [5.9.9] 2019-06-23
|
886 |
|
887 | ### Changed
|
888 |
|
889 | - Projects that use WebSockets (`@ws`) in their `.arc` file will need to be cautious about upgrading
|
890 | - The default directories that get created are now `ws-$connect`, `ws-$default`, and `ws-$disconnect`; it is recommended that you run `npx create` and copy your code from `ws-connect` to `ws-$connect`, `ws-default` to `ws-$default`, and `ws-disconnect` to `ws-$disconnect` and then delete the old directories
|
891 |
|
892 | ### Fixes
|
893 |
|
894 | - `@ws` directive now works correctly with the `npx inventory` command set
|
895 | - Fixes `sandbox` wrapper when use as async module, adds `sandbox` test
|
896 |
|
897 | ---
|
898 |
|
899 | ## [5.9.8] - 2019-06-19
|
900 |
|
901 | ### Changed
|
902 |
|
903 | - Deployments of static assets now follow symlinks in the `public/` directory
|
904 |
|
905 | ---
|
906 |
|
907 | ## [5.9.5-7] - 2019-06-18
|
908 |
|
909 | ### Changed
|
910 |
|
911 | - The `sandbox` workflow is now its own module!
|
912 | - No functionality changes to `sandbox` in this release
|
913 | - A few minor improvements to `sandbox` console messages during startup, and drying up port assignment logic
|
914 | - You can find the `sandbox` module at https://github.com/architect/sandbox
|
915 |
|
916 |
|
917 | ### Fixed
|
918 |
|
919 | - Some Arc-supported runtimes defined in `.arc-config` files (such as `nodejs8.10`) will no longer cause `sandbox` to crash
|
920 |
|
921 | ---
|
922 |
|
923 | ## [5.9.4] - 2019-06-15
|
924 |
|
925 | ### Added
|
926 |
|
927 | - Added ability to disable Architect managing a given function's environment variables
|
928 | - Add an `@arc` pragma to your function's `.arc-config` file, and pass it the `env false` flag
|
929 |
|
930 |
|
931 | ---
|
932 |
|
933 | ## [5.9.3] - 2019-05-29
|
934 |
|
935 | ### Fixed
|
936 |
|
937 | - Corrects URI encoding when accessing local static assets in _static, fixes #390
|
938 | - Warns users of static deployments of files approaching the payload limit of Lambda, fixes #387
|
939 | - Fixes static deploy errors of unknown file types
|
940 |
|
941 |
|
942 | ---
|
943 |
|
944 | ## [5.9.0 - 5.9.2] - 2019-05-23
|
945 |
|
946 | ### Added
|
947 |
|
948 | - CloudFormation support! 🚀
|
949 | - `npx package` will export the current `.arc` file to `sam.json` and print further instructions for deploying
|
950 | - Currently only `@http`, `@static` and `@tables` pragmas are supported; you can track the other pragmas dev (or submit a PR!) here at #386
|
951 | - Any env vars in `.arc-env` are automatically applied to the CloudFormation stack
|
952 | - `.arc-config` settings are also fully supported
|
953 | - Unfortunately CF currently has a bug with binary media types which we're tracking here https://github.com/awslabs/serverless-application-model/issues/561
|
954 | - Static asset fingerprinting beta!
|
955 | - Add `fingerprinting true` to your `@static` pragma to enable fingerprinting
|
956 | - Add `ignore` followed by a two-space indented list to ignore certain files from `public/`
|
957 | - [More information here](https://arc.codes/reference/static)
|
958 | - Added new flag for pruning old static assets: `npx deploy [--static] --prune`
|
959 | - Added ability to completely disable shared folder copying into functions
|
960 | - Add an `@arc` pragma to your function's `.arc-config` file, and pass it the `shared false` flag
|
961 | - Ruby and Python local runtime support
|
962 | - `.arc-config` with `runtime` of either `ruby2.5` or `python3.7` works on localhost (make sure you have python and ruby installed!)
|
963 |
|
964 |
|
965 | ### Fixed
|
966 |
|
967 | - Hydration (and other things that depend on hydrator operations) should now work more reliably on non-UNIXy machines
|
968 |
|
969 |
|
970 | ---
|
971 |
|
972 | ## [5.8.7] - 2019-05-21
|
973 |
|
974 | ### Fixed
|
975 |
|
976 | - Fixes lack of `console.[warn|error|trace]` output in sandbox console
|
977 |
|
978 |
|
979 | ## [5.8.5 - 5.8.6] - 2019-05-15
|
980 |
|
981 | ### Changed
|
982 |
|
983 | - Default Lambda runtime is now Node 10.x (from Node 8.10)
|
984 | - Added simple rate limits to `npx config` and `npx config --apply`
|
985 | - Updated dependencies
|
986 |
|
987 |
|
988 | ---
|
989 |
|
990 | ## [5.8.0 - 5.8.4] - 2019-05-08
|
991 |
|
992 | ### Added
|
993 |
|
994 | - Adds `npx inventory nuke -f` for deleting DynamoDB tables and S3 buckets (even if they have contents)
|
995 | - Also adds aliases: `npx inventory -nf`, `npx inventory -fn`
|
996 | - Scheduled function state enabled / disabled flag in `.arc-config` with `npx config`
|
997 | - Concurrency `0-1` flag in `.arc-config` with `npx config` (applies to all function types)
|
998 | - Support for custom routes in WebSocket API Gateways
|
999 | - `@ws` now accepts routes defined in `.arc`
|
1000 | - To use these custom routes, the client message must contain an `action` key that is the name of the route
|
1001 |
|
1002 |
|
1003 | ### Fixed
|
1004 |
|
1005 | - DynamoDB tables and indexes now enqueue during create; fixes #268
|
1006 | - Sync queue visibility to function timeout; fixes #204
|
1007 | - Verifies queue resources deleted with `npx inventory nuke`; fixes #132
|
1008 | - Enhanced cron() and rate() validatation; fixes #148
|
1009 | - Now `npx inventory nuke` destroys Lambdas and CloudWatch Events rules
|
1010 | - Enhanced error reporting for bad creds or bad arcfiles (closes #339, #364)
|
1011 |
|
1012 |
|
1013 | ### Changed
|
1014 | - New GitHub name! Find us at: [github.com/architect](https://github.com/architect)
|
1015 | - If you're already developing for Architect projects, don't forget to update your git remotes, e.g.: `git remote set-url origin https://github.com/architect/architect.git && git remote -v`
|
1016 | - Special thanks to @pug132 for the name (and a big hat-tip to @mikemaccana)!
|
1017 | - scheduled functions always putRule on `npx create` (fixes #326)
|
1018 |
|
1019 |
|
1020 | ---
|
1021 |
|
1022 | ## [5.7.0] - 2019-04-17
|
1023 |
|
1024 | ### Added
|
1025 |
|
1026 | - Support for AWS layers! /ht @julianduque
|
1027 | - You may now specify `layer $layerARN` in the `@aws` section of your project manifest, or `.arc-config` files (see: [config](https://arc.codes/reference/arc-config)!
|
1028 | - Support for additional runtimes: `python3.7` and `ruby2.5`!
|
1029 | - The list also includes: `nodejs8.10`, `python3.6`, `go1.x`, `dotnetcore2.1`, and `java8`
|
1030 | - Specify `runtime $yourRuntime` in the `@aws` section of your project manifest, or `.arc-config` files
|
1031 | - Of course, you can also add the runtime of your choosing by way of layer support
|
1032 | - Support for `application/binary-octet` & `multipart/form-data` requests, fixes #353
|
1033 | - Requests with those two `Content-Type` headers will produce a `base64` object in the `body` object, like so: `body: {base64: 'R28gR2lhbnRzIQ=='}`
|
1034 | - Empty request bodies will still produce an empty object (e.g. `body: {}`)
|
1035 |
|
1036 |
|
1037 | ### Fixed
|
1038 |
|
1039 | - `config [--apply]` now has an easier to read layout, improved diffing, and instructions on how to apply changes
|
1040 | - Added resource creation error handling and validation to `deploy`
|
1041 | - Invalid runtime settings emit a friendly warning about defaulting to `node8.10`
|
1042 |
|
1043 |
|
1044 | ### Changed
|
1045 |
|
1046 | - `get /` no longer required by `@http`
|
1047 | - Updated dependencies (most notably `@architect/parser` to support `runtime` and `layers` settings)
|
1048 | - Resource creation error handling moved into common utils (internal)
|
1049 |
|
1050 |
|
1051 | ---
|
1052 |
|
1053 |
|
1054 | ## [5.6.3] - 2019-04-08
|
1055 |
|
1056 | ### Fixed
|
1057 |
|
1058 | - Fixes WebSocket support in `sandbox`; fixes #328 /ht @rschweizer
|
1059 |
|
1060 |
|
1061 | ### Changed
|
1062 |
|
1063 | - Cleans up http invocation for doc content-types in `sandbox`
|
1064 | - Slightly better rate limit error message
|
1065 |
|
1066 |
|
1067 | ---
|
1068 |
|
1069 |
|
1070 | ## [5.6.1] - 2019-04-06
|
1071 |
|
1072 | ### Added
|
1073 |
|
1074 | - Adds `req.httpMethod` and `req.queryStringParameters`
|
1075 |
|
1076 |
|
1077 | ### Removed
|
1078 |
|
1079 | - Removes deprecated code paths
|
1080 |
|
1081 |
|
1082 | ---
|
1083 |
|
1084 |
|
1085 | ## [5.6.0 - 5.6.1] - 2019-04-04
|
1086 |
|
1087 | ### Added
|
1088 |
|
1089 | - Enables both text and binary file transit in newly provisioned Arc apps
|
1090 | - Adds the same capability to `sandbox`
|
1091 | - This is NOT a breaking update, however if you'd like your existing app to serve binary assets, you'll need to re-create your API (or hang tight until we release our forthcoming API migration tool)
|
1092 | - Adds `req.httpMethod` and `req.queryStringParameters`
|
1093 | - Removes deprecated code paths
|
1094 |
|
1095 | ---
|
1096 |
|
1097 |
|
1098 | ## [5.5.10] - 2019-03-15
|
1099 |
|
1100 | ### Added
|
1101 |
|
1102 | - Cache-control header support to `sandbox`
|
1103 | - Default for local dev environment is not to send any `cache-control` header
|
1104 | - If specified, `cache-control` passes through
|
1105 |
|
1106 |
|
1107 | ---
|
1108 |
|
1109 | ## [5.5.9] - 2019-03-13
|
1110 |
|
1111 | ### Added
|
1112 |
|
1113 | - Cache-control header support; if not specified, defaults to:
|
1114 | - HTML + JSON: `no-cache, no-store, must-revalidate, max-age=0, s-maxage=0`
|
1115 | - Everything else: `max-age=86400`
|
1116 | - This change only applies to Architect apps provisioned from this version forward
|
1117 |
|
1118 | ### Fixed
|
1119 |
|
1120 | - Default `content-type` response of `application/json` is now `application/json; charset=utf-8;`
|
1121 |
|
1122 | ### Changed
|
1123 |
|
1124 | - Updated dependencies
|
1125 |
|
1126 | ---
|
1127 |
|
1128 | ## [5.5.6 - 5.5.8] - 2019-02-28
|
1129 |
|
1130 | ### Fixed
|
1131 |
|
1132 | - Now properly deletes the entire CloudWatch log group when nuking; fixes #311 /ht @mikeal
|
1133 | - Fixes `sandbox` to work properly when `content-type` has charset assignment; #303, #305 /ht @hada-unlimited
|
1134 | - Fixes issue with `audit` breaking on `@ws` functions; #311 /ht @mikeal
|
1135 | - `sandbox` now accepts `statusCode`, in addition to `status` and `code`; fixes #323
|
1136 |
|
1137 |
|
1138 | ---
|
1139 |
|
1140 | ## [5.5.5] - 2019-02-22
|
1141 |
|
1142 | ### Fixed
|
1143 |
|
1144 | - Fixes ordering logs by last event /ht @mikeal
|
1145 |
|
1146 |
|
1147 | ---
|
1148 |
|
1149 | ## [5.5.2 - 5.5.4] - 2019-02-20
|
1150 |
|
1151 | ### Fixed
|
1152 |
|
1153 | - `logs` forces descending order
|
1154 | - Query params no longer trigger index.html override for `sandbox`
|
1155 | - Adds support for `text/tsx` in `/public`
|
1156 |
|
1157 |
|
1158 | ---
|
1159 |
|
1160 | ## [5.5.1] - 2019-02-08
|
1161 |
|
1162 | ### Changed
|
1163 |
|
1164 | - Updated dependencies
|
1165 |
|
1166 | ### Removed
|
1167 |
|
1168 | - `test:watch` script and `tape-watch` devdep (due to multiple dependencies with CVEs)
|
1169 |
|
1170 |
|
1171 | ---
|
1172 |
|
1173 | ## [5.5.0] - 2019-02-03
|
1174 |
|
1175 | SPA support: mount S3 on the `/` of API Gateway
|
1176 |
|
1177 | ### Added
|
1178 |
|
1179 | - `ANY /{proxy+}` will now route any 'not found' to the HTTP Lambda `src/http/get-index`
|
1180 | - Note: proxy+ routes have a slightly different request payload that includes `request.requestContext` not available to regular HTTP Lambdas (so you can use this to test a 404 condition)
|
1181 | - `ANY /_static/{proxy+}` will proxy to S3 buckets defined by `@static` (if you want to skip proxying through Lambda)
|
1182 | - Companion library `@architect/functions` also gained `arc.proxy.public` superpower for proxying all requests NOT defined by `.arc` to the `@static` S3 buckets
|
1183 |
|
1184 | [For more about single page apps with Architect see there docs here.](https://arc.codes/guides/spa)
|
1185 |
|
1186 |
|
1187 | ### Changed
|
1188 |
|
1189 | - If `@http` is defined, then `get /` must also be defined
|
1190 | - `npx sandbox` now mounts `/public` on `http://localhost:3333/_static` to match the deployed API Gateway S3 proxy
|
1191 |
|
1192 |
|
1193 | ---
|
1194 |
|
1195 | ## [5.0.6] - 2019-01-25
|
1196 |
|
1197 | ### Added
|
1198 |
|
1199 | - Improvements to build plugins system (did you know Architect has a build plugins system?)
|
1200 | - Now supports NPM scoping (e.g. `@architect/arc-plugin-node-prune`)
|
1201 | - Build preparation order now runs pre-deploy build plugins last (after dependency hydration)
|
1202 | - Published a companion beta / demo plugin: [`@architect/arc-plugin-node-prune`](https://www.npmjs.com/package/@architect/arc-plugin-node-prune), clean the cruft out of your `node_modules`!
|
1203 |
|
1204 |
|
1205 | ### Fixed
|
1206 |
|
1207 | - Fixes `create` breaking if `@ws` is not present in `.arc`, #276
|
1208 |
|
1209 |
|
1210 | ---
|
1211 |
|
1212 | ## [5.0.4] - 2019-01-24
|
1213 |
|
1214 | ### Added
|
1215 |
|
1216 | - `repl` now respects environments, allowing you to connect to your remote databases with the `NODE_ENV` environment variable
|
1217 |
|
1218 |
|
1219 | ### Fixed
|
1220 |
|
1221 | - `repl` was being clobbered by `@architect/data`'s own implementation; fixed in `architect/arc-data` #12, dependency updated
|
1222 |
|
1223 |
|
1224 | ### Changed
|
1225 |
|
1226 | - Updated dependencies
|
1227 |
|
1228 |
|
1229 | ---
|
1230 |
|
1231 | ## [5.0.2] - 2019-01-22
|
1232 |
|
1233 | ### Added
|
1234 |
|
1235 | - Support for `@ws` in `.arc` for generating WebSocket Lambdas and API Gateway endpoints
|
1236 | - Support for WebSocket Lambdas in the local sandbox
|
1237 | - WebSocket Lambdas support in `inventory`, which in turn powers most other workflows
|
1238 |
|
1239 |
|
1240 | ### Removed
|
1241 |
|
1242 | - Support for `@slack` as the more generic `@http` Lambdas support that use case better
|
1243 |
|
1244 |
|
1245 | ### Fixed
|
1246 |
|
1247 | - Fixes `@indexes` creation bug
|
1248 | - Runs `npm i` during `hydrate --update`, resolving a long-standing NPM issue where package-lock files may fall out of sync
|
1249 | - Fixed: on Windows, S3 assets will be correctly created relative to their location beneath `public` rather than their full paths.
|
1250 |
|
1251 | ### Changed
|
1252 |
|
1253 | - Updated dependencies
|
1254 |
|
1255 |
|
1256 | ---
|
1257 |
|
1258 | ## [4.5.6] - 2019-01-14
|
1259 |
|
1260 |
|
1261 | ### Fixed
|
1262 |
|
1263 | - Fixes callback in _create-code task, fixes #263
|
1264 |
|
1265 |
|
1266 | ### Changed
|
1267 |
|
1268 | - Improved error handling in NPM operations
|
1269 |
|
1270 |
|
1271 | ---
|
1272 |
|
1273 | ## [4.5.5] - 2019-01-11
|
1274 |
|
1275 |
|
1276 | ### Fixed
|
1277 |
|
1278 | - In Windows, NPM no longer fails with `undefined`, fixes #261
|
1279 |
|
1280 |
|
1281 | ---
|
1282 |
|
1283 | ## [4.5.4] - 2019-01-10
|
1284 |
|
1285 |
|
1286 | ### Changed
|
1287 |
|
1288 | - Improved status reporting during `deploy` and `create`
|
1289 |
|
1290 |
|
1291 | ### Fixed
|
1292 |
|
1293 | - Fixes cases where hydration was crashing single function deployments, and deployments that execute `create` for missing resources
|
1294 |
|
1295 |
|
1296 | ---
|
1297 |
|
1298 | ## [4.5.1] - 2019-01-08
|
1299 |
|
1300 |
|
1301 | ### Changed
|
1302 |
|
1303 | - `hydrate` refactor and API
|
1304 | - NPM operations are now queued and concurrently processed (env var `ARC_MAX_NPM`, defaults to 10) /ht @grncdr
|
1305 | - Vastly improved NPM error handling and related deployment reliability (fixes #141 + #151)
|
1306 | - Now hydrates (and updates) deterministically from the current .arc manifest, as opposed to globbing
|
1307 | - All NPM operations now use `npm ci` for more consistent behavior across environments
|
1308 | - Updates `deploy` to use `hydrate` API, and `sandbox` to use new shared code copier module
|
1309 | - DynamoDB tables now use on-demand/pay-per-request billing mode, mitigating the need for capacity planning /ht @alexdilley
|
1310 | - `inventory` now supplies its own Arc project data, allowing it to be called as needed without relying on `util/init`
|
1311 |
|
1312 |
|
1313 | ### Fixed
|
1314 |
|
1315 | - Freshly created Functions are now properly hydrated with shared code (if available and appropriate; fixes #241)
|
1316 | - Running `create` on already existing projects now runs orders of magnitute faster
|
1317 | - `.arc` file is now reliably copied into each Function's `node_modules/@architect/shared` even if you don't use `src/shared` (needed by `@architect` deps)
|
1318 | - `deploy` now respects `--delete` flag when deploying the whole project
|
1319 | - Improved progress reporting in `CI` mode, and for `hydrate`, `create`, and `deploy`
|
1320 |
|
1321 |
|
1322 | ### Added
|
1323 |
|
1324 | - New command: `hydrate --shared [--update]` - hydrates and/or updates `src/shared` and `src/views` (if available)
|
1325 | - Added test run watcher script /ht @filmaj
|
1326 |
|
1327 |
|
1328 | ---
|
1329 |
|
1330 | ## [4.4.12] - 2018-12-23
|
1331 |
|
1332 |
|
1333 | ### Removed
|
1334 |
|
1335 | The following folders are no longer required nor autogenerated:
|
1336 |
|
1337 | - `src/shared`
|
1338 | - `src/views`
|
1339 | - `/public`
|
1340 |
|
1341 | Functionality remains unchanged: Contents of `src/shared` are synced to `node_modules/@architect/shared` in all lambdas whenever deploying or using the sandbox. Contents of `src/views` are synced to all HTTP GET lambdas `node_modules/@architect/views`. Public is synced to S3 buckets.
|
1342 |
|
1343 |
|
1344 | ---
|
1345 |
|
1346 | ## [4.4.11] - 2018-12-19
|
1347 |
|
1348 |
|
1349 | ### Added
|
1350 |
|
1351 | - Updates `sandbox`, adding minor performance tweaks now, and setting up for future enhancements
|
1352 | - Updated `sandbox` to asynchronously read files when invoking a Lambdas
|
1353 | - Updates runtime handling in `sandbox` to make it easier to add additional runtimes
|
1354 | - Each runtime now lives in its own function, which also enables process forking later on
|
1355 |
|
1356 |
|
1357 | ---
|
1358 |
|
1359 | ## [4.4.10] - 2018-12-18
|
1360 |
|
1361 |
|
1362 | ### Added
|
1363 |
|
1364 | - New logo (added to readme)! /ht @amberdawn
|
1365 | - `hydrate` and `deploy` now install dependencies in `src/shared` and `src/views` (#240)
|
1366 | - `QUIET` boolean env var suppresses init header (fixes #238)
|
1367 | - Helpful for piping data to disk, e.g. setting up new users on an Architect project with `QUIET=1 npx env > .arc-env`
|
1368 | - `app.arc` app filename supported as a non-dotfile alternative to `.arc` (#239)
|
1369 |
|
1370 |
|
1371 | ### Changed
|
1372 |
|
1373 | - Static asset deploys now exclude default `public/readme.md` file
|
1374 | - Improved `hydrate` progress and completion confirmation
|
1375 | - Adds Architect version back into the init header
|
1376 |
|
1377 |
|
1378 | ### Fixed
|
1379 |
|
1380 | - `hydrate` was not properly globbing (and thus, not hydrating) `src/shared` contents
|
1381 |
|
1382 |
|
1383 | ---
|
1384 |
|
1385 | ## [4.4.9] - 2018-12-16 (merge commit, no changes)
|
1386 |
|
1387 |
|
1388 | ---
|
1389 |
|
1390 | ## [4.4.8] - 2018-12-12
|
1391 |
|
1392 |
|
1393 | ### Added
|
1394 |
|
1395 | - To help accommodate `sandbox` calling out to remote databases, `SANDBOX_TIMEOUT` env var allows you specify in seconds how long `sandbox` should wait for all child processes to complete
|
1396 | - `SANDBOX_TIMEOUT` is overridden by any directory-specific `.arc-config` files
|
1397 |
|
1398 |
|
1399 | ### Changed
|
1400 |
|
1401 | - Default `sandbox` timeout is now symmetrical with Architect's default Lambda timeout time of 5 seconds
|
1402 |
|
1403 |
|
1404 | ---
|
1405 |
|
1406 | ## [4.4.7] - 2018-12-11
|
1407 |
|
1408 |
|
1409 | ### Added
|
1410 |
|
1411 | - Form-encoded POST values can now be sent enclosed in single quotes /ht @herschel666
|
1412 |
|
1413 |
|
1414 | ### Changed
|
1415 |
|
1416 | - Skip logging when `@static` isn't deployed
|
1417 | - Additional hardening of `sandbox` handling of JSON responses emitted from `@architect/functions`
|
1418 | - Preliminary / prototype commits for outputting CloudFormation from .arc
|
1419 | - Preliminary / prototype commits in the direction of adding arbitrary header support /ht @mweagle
|
1420 |
|
1421 |
|
1422 | ### Fixed
|
1423 |
|
1424 | - Issue where `arc.http` JSON responses were crashing `sandbox` due to an encoding mismatch
|
1425 | - Issue where `ARC_LOCAL` env var wasn't being properly respected by `sandbox` events
|
1426 |
|
1427 |
|
1428 | ---
|
1429 |
|
1430 | ## [4.4.5] - 2018-12-7
|
1431 |
|
1432 |
|
1433 | ### Added
|
1434 |
|
1435 | - Local `@queues` now available in `sandbox`
|
1436 | - Big ups to @grncdr for this feature!
|
1437 |
|
1438 |
|
1439 | ### Fixed
|
1440 |
|
1441 | - `hydrate` wasn't updated to use the new progress indicator, and would fail when used – no longer!
|
1442 |
|
1443 |
|
1444 | ---
|
1445 |
|
1446 | ## [4.4.4] - 2018-12-1
|
1447 |
|
1448 |
|
1449 | ### Added
|
1450 |
|
1451 | - `deploy` operations now read local and remote last-modified times, and will skip files whose times don't differ, thereby speeding up deploy operations of static files
|
1452 | - Big ups to @filmaj for this release, too!
|
1453 |
|
1454 |
|
1455 | ---
|
1456 |
|
1457 | ## [4.4.3] - 2018-11-30
|
1458 |
|
1459 |
|
1460 | ### Added
|
1461 |
|
1462 | - `npx deploy static`: deploys only `@static` assets (as found in the `public/` folder)
|
1463 | - Accepts `staging | --staging | -s` and `production | --production | -p` flags
|
1464 | - `npx deploy static --delete`: deploys static assets, and deletes remote S3 files not present locally in `public/`
|
1465 | - Can be used with `staging` and `production` flags
|
1466 | - Big ups to @filmaj for this release!
|
1467 |
|
1468 |
|
1469 | ---
|
1470 |
|
1471 | ## [4.4.0] - 2018-11-27
|
1472 |
|
1473 |
|
1474 | ### Added
|
1475 |
|
1476 | - Large refactor of `deploy` workflow to improve stability and reliability
|
1477 | - `deploy` now identifies missing project resources during deploy operations
|
1478 | - Instead of failing / throwing errors, `deploy` now completes its first pass deployment
|
1479 | - Then, once completed, `deploy` creates any resources missing from the deployment (and deploys them)
|
1480 |
|
1481 |
|
1482 | ### Changed
|
1483 |
|
1484 | - `npx inventory --nuke` now destroys `@static` resources (S3 buckets) and `@events` resources (SNS Topics).
|
1485 | - New projects will no longer create `arc-sessions` tables (for use with `@architect/functions`) by default, and are now explicitly opt-in
|
1486 | - Replaces `progress` module with a lighter weight, more readily cross-platform homegrown solution
|
1487 |
|
1488 |
|
1489 | ---
|
1490 |
|
1491 | ## [4.3.14] - 2018-11-26
|
1492 |
|
1493 |
|
1494 | ### Changed
|
1495 |
|
1496 | - `logs` command results now sorted chronologically
|
1497 |
|
1498 |
|
1499 | ### Fixed
|
1500 |
|
1501 | - Fixes console leaking of large responses in `sandbox`
|
1502 |
|
1503 |
|
1504 | ---
|
1505 |
|
1506 | ## [4.3.13] - 2018-11-24
|
1507 |
|
1508 |
|
1509 | ### Fixed
|
1510 |
|
1511 | - `sandbox` was broken in the JWE changeover
|
1512 | - Fixes some broken tests
|
1513 |
|
1514 |
|
1515 | ### Removed
|
1516 |
|
1517 | - Unnecessary session table test stubs
|
1518 |
|
1519 |
|
1520 | ---
|
1521 |
|
1522 | ## [4.3.12] - 2018-11-23
|
1523 |
|
1524 |
|
1525 | ### Changed
|
1526 |
|
1527 | - New default for Architect sessions is based on JWE
|
1528 | - DynamoDB sessions are still available, but [now opt-in](https://arc.codes/guides/sessions)
|
1529 | - `sandbox` now matches the 6MB request payload limit of Lambda /ht @herschel666
|
1530 |
|
1531 |
|
1532 | ---
|
1533 |
|
1534 | ## [4.3.10] - 2018-11-19
|
1535 |
|
1536 |
|
1537 | ### Added
|
1538 |
|
1539 | - dotfiles are now included in Lambda deployments
|
1540 |
|
1541 |
|
1542 | ---
|
1543 |
|
1544 | ## [4.3.9] - 2018-11-15
|
1545 |
|
1546 |
|
1547 | ### Changed
|
1548 |
|
1549 | - Architect parser now accepts multiple spaces between http verb and path in `@http` functions
|
1550 |
|
1551 |
|
1552 | ### Fixed
|
1553 |
|
1554 | - `sandbox` now properly pretty prints paths
|
1555 |
|
1556 |
|
1557 | ---
|
1558 |
|
1559 | ## [4.3.8] - 2018-11-14
|
1560 |
|
1561 |
|
1562 | ### Added
|
1563 |
|
1564 | - Additional S3 deploy tests
|
1565 |
|
1566 |
|
1567 | ---
|
1568 |
|
1569 | ## [4.3.7] - 2018-11-13
|
1570 |
|
1571 |
|
1572 | ### Changed
|
1573 |
|
1574 | - `sandbox` clears async function timeout if execution is faster than specified timeout
|
1575 |
|
1576 |
|
1577 | ---
|
1578 |
|
1579 | ## [4.3.6] - 2018-11-12
|
1580 |
|
1581 |
|
1582 | ### Added
|
1583 |
|
1584 | - Better async error handling (and more helpful error text) in sandbox
|
1585 | - Trap and present friendly error when async functions don't return a value in sandbox
|
1586 | - `sandbox` returns a promise if no callback is specified
|
1587 | - Adds repl
|
1588 |
|
1589 |
|
1590 | ---
|
1591 |
|
1592 | ## [4.3.1] - 2018-11-12
|
1593 |
|
1594 |
|
1595 | ### Fixed
|
1596 |
|
1597 | - Error with `/public` folder in sandbox
|
1598 |
|
1599 |
|
1600 | ---
|
1601 |
|
1602 | ## [4.3.0] - 2018-11-12
|
1603 |
|
1604 |
|
1605 | ### Added
|
1606 |
|
1607 | - `arc.sandbox.start` now accepts a regular node errback as the last arg
|
1608 |
|
1609 |
|
1610 | ---
|
1611 |
|
1612 | ## [4.2.2] - 2018-11-12
|
1613 |
|
1614 |
|
1615 | ### Added
|
1616 |
|
1617 | - This changelog!
|
1618 |
|
1619 |
|
1620 | ### Fixed
|
1621 |
|
1622 | - Removed generated test coverage files from NPM package bundle
|
1623 | - Inline help typos
|
1624 |
|
1625 |
|
1626 | ---
|
1627 |
|
1628 | ## [4.2.1] - 2018-11-09
|
1629 |
|
1630 |
|
1631 | ### Added
|
1632 |
|
1633 | - `CI` env boolean for disabling `deploy` progress indicator in CI
|
1634 |
|
1635 |
|
1636 | ---
|
1637 |
|
1638 | ## [4.2.0] - 2018-08-12
|
1639 |
|
1640 |
|
1641 | ## Added
|
1642 |
|
1643 | - CORS support for `sandbox`
|
1644 |
|
1645 |
|
1646 | ## Fixed
|
1647 |
|
1648 | - CORS bug in HTTP functions
|
1649 | - Issue with `sandbox` not properly passing callbacks if used as a module
|
1650 |
|
1651 |
|
1652 | ---
|
1653 |
|
1654 | ## [4.1.3] - 2018-11-6
|
1655 |
|
1656 |
|
1657 | ### Added
|
1658 |
|
1659 | - Massive tests refactor, shout out to @filmaj!
|
1660 | - Added tests for many important workflows
|
1661 | - Code coverage now tracked with Istanbul
|
1662 | - Architect's CI is now public via TravisCI
|
1663 |
|
1664 |
|
1665 | ---
|
1666 |
|
1667 | ## [4.1.2] - 2018-10-31
|
1668 |
|
1669 |
|
1670 | ### Changed
|
1671 |
|
1672 | - Roughed in resource flagging (not yet ready, though)
|
1673 |
|
1674 |
|
1675 | ### Fixed
|
1676 |
|
1677 | - Restored accidentally removed `readme.md`
|
1678 |
|
1679 |
|
1680 | ---
|
1681 |
|
1682 | ## [4.1.1] - 2018-10-31
|
1683 |
|
1684 |
|
1685 | ### Added
|
1686 |
|
1687 | - `logs` workflow!
|
1688 | - Command line flags for various workflows:
|
1689 | - `audit`: `apply`, `--apply`, `-a`
|
1690 | - `config`: `apply`, `--apply`, `-a`
|
1691 | - `create`: `local`, `--local`, `-l`
|
1692 | - `deploy`: `production`, `--production`, `staging`, `--staging`, `public`, `--public`, `/public`, `lambda`, `--lambda`, `lambdas`, `--lambdas`, `functions`, `--functions`
|
1693 | - `dns`: `nuke`, `--nuke`, `-n`, `route53`, `--route53`, `-r`
|
1694 | - `env`: `verify`, `--verify`, `-v`, `remove`, `--remove`, `-r`
|
1695 | - `hydrate`: `update`, `--update`, `-u`
|
1696 | - `inventory`: `nuke`, `--nuke`, `-n`, `--nuke=tables`, `verify`, `--verify`, `-v`
|
1697 | - `sandbox`: `production`, `--production`, `-p`, `staging`, `--staging`, `-s`, `testing`, `--testing`, `-t`
|
1698 | - Additional path validation for leading and trailing special characters
|
1699 |
|
1700 |
|
1701 | ### Changed
|
1702 |
|
1703 | - Refactored `deploy` command to support additional command line flags, and surgical deploys of just `/public`, or just Lambdas
|
1704 | - Copy fixes for deployment workflow
|
1705 | - Made boilerplate HTTP functions a bit more minimal
|
1706 | - Improved `sandbox` testing
|
1707 |
|
1708 |
|
1709 | ---
|
1710 |
|
1711 | ## [4.1] - 2018-10-24
|
1712 |
|
1713 |
|
1714 | ### Added
|
1715 |
|
1716 | - Automagical `src/views` folder: copies contents into all `HTTP GET` functions' `node_modules/@architect/views`
|
1717 | - `@views` pragma, overrides bulk `src/views` copy, and only copies into specified functions
|
1718 | - More information on `src/views` and `@views` [can be found here](https://blog.begin.com/serverless-front-end-patterns-with-architect-views-cf4748aa1ec7)
|
1719 | - Adds ability to use the following special characters in static URL parts: `-` (dash), `.` (period), `_` underscore
|
1720 | - New HTTP function validation logic:
|
1721 | - HTTP functions must begin and end with a letter or number
|
1722 | - Cannot create URL params that contain special chars (except leading `:`, of course)
|
1723 | - Adds command-line flags:
|
1724 | - `npx create`:
|
1725 | - `local`, `--local`, `-l`
|
1726 | - `npx deploy`:
|
1727 | - `production`, `--production`, `-p`
|
1728 | - `staging`, `--staging`, `-s`
|
1729 | - New [Examples repo](https://github.com/architect/examples)
|
1730 |
|
1731 |
|
1732 | ### Changed
|
1733 | - Some light boilerplate code cleanup
|
1734 | - [#168](https://github.com/architect/architect/issues/168) Fixed issue where Architect parser was missing `@http` support in JSON + YAML manifests
|
1735 | - [#164](https://github.com/architect/architect/issues/164) Fixed issue in Windows where Architect would try to copy files over itself
|
1736 |
|
1737 |
|
1738 | ---
|
1739 |
|
1740 | ## [4.0] - 2018-10-20
|
1741 |
|
1742 |
|
1743 | ### Added
|
1744 |
|
1745 | - `@http` pragma, now the default way to create Lambda functions for the web
|
1746 | - Supports fully dynamic Content-Type, Status Code
|
1747 | - Supports all HTTP methods
|
1748 | - CORS support with a boolean flag
|
1749 | - `public` folder, now the default way to sync static assets to S3
|
1750 | - `JSON` & `YAML` support for the `.arc` manifest
|
1751 | - Per-Lambda function configuration support with `.arc-config` files
|
1752 | - Per-Lambda function IAM roles support with `role.json` files
|
1753 |
|
1754 |
|
1755 | ### Changed
|
1756 |
|
1757 | - Simpler package name (`npm i @architect/architect`)
|
1758 | - New GitHub name ([https://github.com/architect/architect](https://github.com/architect/architect))
|
1759 | - Smarter rate-limiting for deployments of large (50+ function) projects
|
1760 | - Complete docs revamp with new sample projects at [arc.codes](https://arc.codes)
|
1761 | - Fix for obscure bug where `server.close`causes a TypeError
|
1762 | - Readme file cleanup
|
1763 |
|
1764 |
|
1765 | ### Removed
|
1766 |
|
1767 | - `.static` folder has been deprecated in favor of the new `public` folder
|
1768 | - Statically bound Content-Type web functions (i.e. `@html`, `@css`) are deprecated
|
1769 | - `sandbox` will no longer bootstrap these kinds of functions
|
1770 | - `create` will no longer make these kinds of functions
|
1771 | - However, `deploy` still supports deploying these legacy functions
|
1772 |
|
1773 |
|
1774 | ---
|
1775 |
|
1776 | The 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).
|