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