All notable changes to this project will be documented in this file. Dates are displayed in UTC.
04 December 2025
- update
jsonwebtoken
31 October 2025
- update
pg(patch), dev deps
23 June 2025
- Handle decodeURIComponent exceptions
23 May 2025
- update
pgfrom 8.13.1 to 8.16.0 (use names ESM import forPool)
11 December 2024
- Change from CommonJS to ES Module
- update
pgfrom 8.11.1 to 8.13.1 - update
jsonwebtokenfrom 9.0.1 to 9.0.2
26 July 2023
- Add SEARCH via POST (indicated by POST where path ends with ?)
- update
pgfrom 8.10.0 to 8.11.1 - update
jsonwebtokenfrom 9.0.0 to 9.0.1
1 May 2023
- Remove gimicky crap
- Deprecate turbo option
- Switch to Yarn
- update
pgfrom 8.7.3 to 8.10.0 - update
jsonwebtokenfrom 8.5.1 to 9.0.0 - remove
quick-lru - update dev deps
7 April 2022
- update
pgto 8.7.3
17 January 2022
- add ability to specify PG connection per resource
- update
pgto 8.7.1 - update several dev deps
22 September 2021
- fix
Cannot convert undefined or null to objectbug
- update
pgto 8.7.1 - update several dev deps
30 June 2021
- fix bug that would exclude action custom handlers from
onErrorcatching them
30 June 2021
- update
pgto 8.6.0
- add
CONTRIBUTING.md
- handle DB setup and teardown within the tests
15 November 2020
- add
useNotModifiedoption, hash the response and return 304 if matched
- update
pgto 8.5.1
- document new
useNotModifiedoption - fix description of
registerAPIsoption
5 November 2020
- update
pgto 8.4.2
30 September 2020
- update
pg8.3.3 - update
quick-lruto 5.1.1
26 May 2020
- Update
pgto version 8.2.0 (performance improvements)
8 May 2020
- Update
pgto version 8.1.0
27 April 2020
- Update
pgto version 8 (breaking) - Update
quick-lru - Update
husky(dev dep)
- requires Node version 8 or higher (in accordance with
pg) - Remove never realized
realtimemodule
- Update
fastify - Update bench results
3 March 2020
- Update pg
- Update quick-lru
- Update dev deps
- Use expectBody and mark mismatches as errors
- Update hapi, fastify, autocannon
- Roll back tty-table because I'm too lazy to try and update it
- Update bench results
8 January 2020
- Update pg, a couple dev deps (again)
20 November 2019
- Update pg, a couple dev deps
26 August 2019
- Update dependencies
- Fix some standard style issues
26 July 2019
- Add
shutdownhelper - Use MVT instead of AVA for tests
- Update dependencies
- Fix some standard style issues
- Update benchmarks
13 March 2019
Updated tiny-params will now convert 'null' and 'undefined' to
null. This could have significant impact on PG functions expecting
a string. As such tis a semver major bump. bump. bumpity bump.
12 March 2019
Breaking changes:
- Make
registerfunction synchronous
Additions:
-
Added
onErroroption to resource handlers -
Added
registerAPIsto start -
Added tests for
beforeQuery,beforeSend, andonError -
Add onError, registerAPIs, make register sync
5729e93
12 March 2019
- Update tiny-params
0d82fd0
12 March 2019
10 March 2019
- Feature/turbo
#17 - Update benchmarks
89b6348 - Bump version
a594318 - Update deps
da50dc9 - Update deps
9c12ffa - Update changelog
e5d2f7f - Create CNAME
2f55bc9 - Set theme jekyll-theme-cayman
3505382
18 December 2018
- Feature/turbo
#16 - Update dev-deps, use const where we can, fix #15
#15 - Start on turbo tests, it ain't working
6447138 - Tests working for non-turbo and turbo
f916e6f - Update bench, version 4.3.0
26b8baa - Get turbo as peer-dep actually working
09eaf4f - Update benches
932347e - Update CHANGELOG
754fb5f - Add bench for scrud + turbo
4bd8e70 - Update readme, default turbo to false
1b905bd - Update readme
7903362
12 December 2018
- Make it easier to update benchmark results
e7fb39b - Update deps of submodules
e0d130c - Add Create/POST benchmark, add bench readme
1b75b52 - Make bench code slightly less ugly
08233d5 - Use quick-lru for url parsing cache
77eb15d - Update changelog
e522b29 - Add notes about intent in benchmark readme
4a6ebb1 - Tweak bench table formatting
588e568 - Remove crappy send cache, no gzip on lob bench
66fe753 - Set benchmark run times back to what they were
9105b17 - Remove bench modifiers pending randomized bench
0b202b6 - Allow overriding JWT opts in helper functions
fa557a9 - Less hyperbole
d6788c9
6 December 2018
9 October 2018
- Update PG again, use client.release over client.end
3cb8d46 - Bump to 4.2.6
f330907 - Ensure release isn't called more than once
d87c2ed - Use local released flag
77d33f3
8 October 2018
8 October 2018
24 July 2018
30 April 2018
- Start working on scrud-realtime module
b58ee1d - Update changes for 4.2.1
9e83ecd - Fix bug in http require when turbo not used
73ddf39
15 April 2018
- Add test for missing id, closes #13
#13 - Add hapi to bench
df94097 - Update benchmarked libs
dfcfb8f - Update deps, add auto-changelog
9ac23dd - Use turbo-http if parent app has it installed
02ba07e - Use turbo in bench
01b7cf4 - Readme tweak
9da1f91 - Fix whitespace
fd67551 - Explicitly don't use turbo in benches
0dd17c9 - Update bench image
d48a4eb - Update description
e6abc59
1 March 2018
- Readme overhaul, bump to 4.2.0
8d531c0 - Ensure all benches return proper content-type
832e77f - Update readme
8df66b5 - Only call Buffer.byteLength if strlen*2 > limit
4492f88 - Don't cache in benchmarks
eaac37c - Update readme
7f632b2 - Update bench
d9ee4dc - Add some assets
db22061
26 February 2018
- Handle another edge case
6d59537
26 February 2018
26 February 2018
- Add more lob tooling, gzip caching
b7cf1e1 - Cache expensive-ish where if we can
d91d82d - Optimize benches to be more apples to apples
97c881e - Bump to 4.1.2
a10e8fc
26 February 2018
- Memoization: great for benches ;)
3618b63 - Ensure cached object is consistent in parseUrl
af2945a - Moar faster
ed17aab
25 February 2018
- Add benchmarks, sad though they are :(
5a35fca - Test before committing ;)
1ae06dd - Fork all bench servers into child processes
4b8ec72 - Benchmark memory usage as well
2cfda43 - Optimize url parsing, no more regexery
fe2ac88 - Parse id (read action) for all benches
98a7a4c - Test a few edge cases related tp path parsing
788b657 - Ensure lib results are consistent
0fd44b0 - Random bench order, warmup, skip auth if no jwtOpts
d3b904d - Bench table tweaks
050f73d - Make getIp and setScrudHeader options
7d7f8cb - Setup lob bench
b844b70 - Up connections in bench, micro tweak in handler
4d7337a - Only require jsonwebtoken and pg if applicable
f85329f - Use urlTemplate for consistency check and bench
3beb384 - Tweak gzip headers, middle of the pack bench
1b3cb30 - Unbreak my heart / the entire thing
da61822 - Set bench durations back
0798753 - Only get id if needed
66d4a70 - Only get token if needed
e1301ca - Optimized release, close in on polka/http
e72f397 - Remove redundant basePath check
bbe8a15
21 February 2018
- Update dependencies, 4.0.1
76aa007
29 November 2017
- Changes to API for helper functions, 4.0.0
ec49a64
29 November 2017
- Alias exported SCRUD functions, 3.0.1
10c500d
28 November 2017
- Test jwt, fix regression, semver breaking change
1904724
28 November 2017
- Update deps, version 2.1.0
f32043d
5 September 2017
- Update deps, v2.0.5, skip untestable test
1771779
1 August 2017
- Check before calling removeListener, v2.0.4
e7988de
1 August 2017
- Actually reject error in callPgFunc, v2.0.3
08fdd05
31 July 2017
- Remove unused semver package
f0ed6d3
29 July 2017
- Listen for close once, don't log client end err
9d9c617
29 July 2017
- Close pg client on req term, closes #12
#12 - Fix #9
#9 - Fix #11, make tests mo better
#11 - Start on 2.0.0, deprecate instance, closes #8
#8 - Refactor pg handlers
d514d86 - Breaking: change pg helpers signature
28a140a - Use pg promises instead of cb
8239b48 - Id error in line
6474946 - Null id if string null or undefined
4a63325 - Fix create test to throw properly on fail
282c277 - Version 2.0.0
6904b9c - Add deps badge
2065a6b
21 July 2017
- Add timeout option, closes #7
#7 - Implement GZIP compression, closes #4
#4 - Implement CORS handling, closes #3
#3 - Handle preflight requests, closes #2
#2 - Closes #1, set content type prior to any send
#1 - Fix logger, allow separate instances
64c8b64 - Update deps
5926d89 - Add documentation
b844ebe - Initial scaffold
cdff96b - Expose send and err helpers
451a392 - Resource methods to single handler, before hooks
b3d2487 - Add skeletons of exports, failing register tests
68b9770 - Refactor res.end calls, add authenticate opt
7b5bb56 - Change module name to scrud
104f3c1 - Implement update
59e1e5d - Clean up tests a bit
aaf7c6a - Implement create
af36ec3 - Add id and params parsers
754fa50 - Start on server, client fails with ECONNNREFUSED
9cafec9 - Remap auth, pass params to all actions
de9d477 - Remove helpers dir, add auth handler
06dd7d4 - Barely started on routes
649a448 - Implement search, test returned data attributes
bae7021 - Remove design notes from tests
fc3e785 - More work on routes
e3225ff - Add for common action handling bits
86a22da - Basic SCRUD routing implemented
2c1ed81 - Parse body before calling handler
f7e065e - Start scaffolding default handlers
d252cf0 - Implement read
15e7de2 - If no origin header treat req as same origin
73ddb87 - Send error on cors rejection, standardize error's
6160f2c - Less regexery, encode/decode handling and tests
dcc27d0 - Add helper specifications
c323fe5 - Use tiny-params module
a68d9a7 - Filter sign opts
76da868 - Start designing api
205fc75 - Start on pg client
82cc8ce - Allow for skipping auth
f075802 - Add resource object specification
7d9f46b - Ensure headers haven't sent prior to send
2b1ee4a - Move SCRUD identifier to headers
47322be - Add jwt generator
96f9ea4 - Standardize returned JSON object
f766e64 - Pass name to actionWrapper
119b484 - Add link to CRUD wiki
96d686d - Update deps, bump to 1.0.3
1abfb87 - Add logging callback
06cb7c2 - Parse err if PG fails with JSON like error object
cc3acff - Assign resource props to new obj, update deps
2100a39 - Handle no error with headers not sent
d1367d8 - Roles remapping doesn't belong in scrud
4fdbb00 - Pass log level to logger
2fd61d1 - Pass IP in params
edd7ae9 - Remove console logs
91e42f4 - Add error meta data in pg call
69d6cb7 - Fix helper specs
02c7451 - Stringify object on send
c8b1225 - Fix description in readme
1196651 - Get resource object in handleRequest
2a7d510 - Export logIt as a courtesy ;)
5fe3602 - Allow for auth transformer
19a5354 - Update tiny-params, bump version
9767eca - Update tinyparams, version bump
e575e42 - Update tinyparams
c627a38 - Remove content-encoding header on error
ff8dae1 - Don't init, just start
8f0f80b - Don't remove original key when setting array key
506e0d1 - Bump to v1.0.15
fd8c81c - Set status code correctly
cf589c1 - Handle no data in verify
91758bd - Bump to 1.0.13
95710a3 - Update PG
ea26ffc - Bump to v1.0.7
02ba547 - Data null instead of undefined
9083e3e - Version 1.0.9
e62bb78 - Fix files in package.json
a4d9b92 - Mark WIP so we can push module to hold name
f3b710c - Pass auth to pg
56d383c - Comment on resource handler overrides
eb7c54f - Version 1.0.2
3964534 - Handle creates with trailing slash
a7bfc61 - Allow for search with no params
362ce36 - Remove console.log
e97c467 - Set Content-Type
a4144b2