Releases: marvinruder/rating-tracker
v6.1.0
What's Changed
Minor changes
- Grant ultimate access rights to the first user registering by @marvinruder in #1676
- Allow sending emails to users by @marvinruder in #1681
- Simplify log output by @marvinruder in #1691
Tweaks and fixes
- Extract orientation from image metadata using
image
crate by @marvinruder in #1663 - Update Dockerfile by @marvinruder in #1669
Notable dependency updates
- Update dependency eslint to v9 by @renovate in #1482
- Update WebAuthn to v11 (major) by @renovate in #1651
- Update Rust crate image to v0.25.4 by @renovate in #1662
- Update Node.js to v22.11.0 by @renovate in #1702
Full Changelog: v6.0.1...v6.1.0
v6.0.1
What's Changed
Tweaks and fixes
- Adapt Renovate schedule to run only once per day by @marvinruder in #1615
- Fix fetching from MarketScreener by @marvinruder in #1617
- Fix Renovate Configuration by @marvinruder in #1618
Full Changelog: v6.0.0...v6.0.1
v6.0.0
What's Changed
Breaking changes
This release migrates away from Redis. Existing Redis instances deployed only for integration with Rating Tracker can be safely discarded of, which will result in the one-time loss of existing cache entries, session IDs and other ephemeral resources. New cached resources and sessions will be stored in the existing PostgreSQL database.
Recently, Rating Tracker migrated from Express to Hono as the underlying web framework. During this migration, the project file structure was also reworked to resemble those of NestJS projects: For each domain such as users, stocks, auth etc., there exists
- a controller which now handles routing, endpoint documentation, request validation and calls functions handling the vast majority of data processing tasks,
- a service aggregating functions which implement most logic related to the domain,
- optionally a schema describing the structure of larger entities for the purpose of validation.
Benefits of Hono include performance, better integration with tools generating an OpenAPI documentation, better validation of requests and responses supported by Zod, as well as type safety across both backend and frontend code by using Hono Client. Hono now also supports adding security-related headers like Content-Security-Policy
etc. to responses, so those can be removed from a reverse proxy configuration. The integration with reverse proxies has also been improved in the way that the number of trustworthy proxies can now be configured using the environment variable TRUSTWORTHY_PROXY_COUNT
. This has an impact on the evaluation of the X-Forwarded-For
header and helps identifying a client’s real IP.
Finally, the development services no longer include an nginx reverse proxy. Instead, Vite runs a proxy forwarding all API requests to the backend. This proxy supports both HTTP/2 and HTTPS, which means that it must be supplied with SSL certificates. Those can be taken from an existing nginx setup, the files of which can be deleted afterwards.
For details regarding recommended configuration and environment changes, please refer to the README.
Major features
- Migrate all Redis repositories to PostgreSQL by @marvinruder in #1474
- Refactor application by @marvinruder in #1528
Minor changes
- Implement ISO 4217 amendments by @marvinruder in #1396
- Use fonts hosted by the server by @marvinruder in #1418
- Add
notFound
handler for unknown endpoints by @marvinruder in #1548 - Migrate to Material UI 6 by @marvinruder in #1569
- Serve precompressed static assets by @marvinruder in #1594
Tweaks and fixes
- Minor cleanups by @marvinruder in #1395
- Improve authentication tokens by @marvinruder in #1417
- Declare ES module in
package.json
ofwasm
module by @marvinruder in #1424 - Fix log level for logging to file by @marvinruder in #1433
- Fix favicon in containers with unset fetch schedule by @marvinruder in #1444
- Remove obsolete resolution by @marvinruder in #1448
- Use PostgreSQL instance from native Alpine package instead of Docker-in-Docker by @marvinruder in #1476
- Fix fetching from MarketScreener by @marvinruder in #1486
- Fix README.md by @marvinruder in #1531
- Fix Content-Security-Policy by @marvinruder in #1532
- Fix
PrismaClientValidationError
: Invalidthis.db.stock.update()
invocation when fetching all stocks from S&P by @marvinruder in #1535 - Update type of
Document
returned byxmldom
parser by @marvinruder in #1599
Notable dependency updates
- Update material-ui monorepo to v6 (major) by @renovate in #1525
- Update prisma monorepo to v5.19.0 by @renovate in #1526
- Update dependency @xmldom/xmldom to v0.9.0 by @renovate in #1537
- Update rust Docker tag to v1.81.0 by @renovate in #1557
- Update alpine Docker tag to v3.20.3 by @renovate in #1558
- Mitigates CVE-2024-5535
- Mitigates CVE-2024-6119
- Mitigates CVE-2024-42365
- Mitigates CVE-2024-42364
- Update dependency hono to v4.6.0 by @renovate in #1564
- Update dependency @hono/node-server to v1.13.0 by @renovate in #1579
- Update Node.js to v22.9.0 by @renovate in #1589
Full Changelog: v5.0.1...v6.0.0
v5.0.1
What's Changed
Tweaks and fixes
- Optimize image by @marvinruder in #1375
- Set scale of sparkline y-axis by @marvinruder in #1377
Notable dependency updates
- Update Node.js to v22.3.0 by @renovate in #1365
- Update rust Docker tag to v1.79.0 by @renovate in #1371
- Update dependency @mui/x-charts to v7.7.0 by @renovate in #1370
- Update prisma monorepo to v5.15.0 by @renovate in #1349
Full Changelog: v5.0.0...v5.0.1
v5.0.0
What's Changed
Breaking changes
This release introduces fetching price information from Yahoo Finance for displaying sparklines. The ticker of a stock is now used as an identifier for the Yahoo Finance API, so the ticker of existing stocks may require updating to match the ticker used by Yahoo Finance.
For non-US stocks, the Yahoo ticker typically includes the ticker of a stock at the local stock exchange, followed by a period and a stock exchange identifier, such as .DE
for German XETRA exchange, .L
for London Stock Exchange, .T
for Tokio Stock Exchange, etc.
Please make sure that every ticker in use refers to the correct stock at Yahoo Finance before updating. If a stock is not available at Yahoo Finance, the ticker can be prepended by an underscore _
. In this case, no price information will be fetched from Yahoo Finance.
Minor changes
- Add sparklines by @marvinruder in #1312
Tweaks and fixes
- Remove fixed peer dependency from .yarnrc.yml by @marvinruder in #1313
- Fix fetching prices with currency code GBp by @marvinruder in #1318
- Fix fetching stocks with
null
values in price array by @marvinruder in #1319 - Fix Market Cap formatting by @marvinruder in #1327
- Fix Analyst Target Price extraction with thousands separator by @marvinruder in #1326
- Fix side effects of
import { type … }
syntax by @marvinruder in #1333
Notable dependency updates
- Update alpine Docker tag to v3.20.0 by @renovate in #1314
- Mitigates CVE-2023-42363
- Mitigates CVE-2023-42364
- Mitigates CVE-2023-42365
- Mitigates CVE-2023-42366
- Mitigates CVE-2024-2511
- Mitigates CVE-2024-4603
Full Changelog: v4.7.1...v5.0.0
v4.7.1
What's Changed
Tweaks and fixes
- Memoize Stock Row component by @marvinruder in #1297
- Improve form validation by @marvinruder in #1304
- Replace Stock Details dialog with link to Stock Details page by @marvinruder in #1306
Notable dependency updates
- Update dependency esbuild to v0.21.3 by @renovate in #1294
- Update Node.js to v22.2.0 by @renovate in #1301
Full Changelog: v4.7.0...v4.7.1
v4.7.0
What's Changed
Minor changes
- Reduce value set of Analyst Consensus by @marvinruder in #1291
Tweaks and fixes
- Fix fetching from S&P by @marvinruder in #1289
- Improve controller architecture by @marvinruder in #1292
Notable dependency updates
- Update dependency esbuild to v0.21.2 by @renovate in #1281
- Update prisma monorepo to v5.14.0 by @renovate in #1290
Full Changelog: v4.6.0...v4.7.0
v4.6.0
What's Changed
Minor changes
- Autosuggest stocks via Yahoo Finance Search API by @marvinruder in #1263
Tweaks and fixes
- Fix autofilling ISINs with letters by @marvinruder in #1273
- Configure OpenAPI specification in Decorators by @marvinruder in #1279
Notable dependency updates
Full Changelog: v4.5.1...v4.6.0
v4.5.1
What's Changed
Tweaks and fixes
- Fix background logos appearing suddenly after delay by @marvinruder in #1252
- Run
prisma migrate deploy
on every startup by @marvinruder in #1255 - Use
glob
provided by Node.js 22’sfs/promises
API by @marvinruder in #1256
Notable dependency updates
- Update Node.js to v22.1.0 by @renovate in #1248
- Update rust Docker tag to v1.78.0 by @renovate in #1247
Full Changelog: v4.5.0...v4.5.1
v4.5.0
What's Changed
Minor changes
- Allow changes to stock ticker by @marvinruder in #1243
Tweaks and fixes
- Omit unused credentials in database operations by @marvinruder in #1241
- Let Renovate update Docker tags to new major versions by @marvinruder in #1237
- Switch to
docker
versioning strategy for Node.js base image by @marvinruder in #1239
Notable dependency updates
- Update Node.js to v22 by @renovate in #1240
- Update WebAuthn to v10 (major) by @renovate in #1202
- Update prisma monorepo to v5.13.0 by @renovate in #1214
- Update react monorepo to v18.3.1 by @renovate in #1224, #1227
Full Changelog: v4.4.1...v4.5.0