All changes relative to the previous version of fuelrats.com shall be documented in this file.
For detailed rules of this file, see Changelog Rules
- An option for users to update their registered email address through the user profile.
2.15.0 - 2022-09-15
- Registration now has a "confirm email" field to prevent email typos. #387
- replaced odyssey bool with expansion field across the app. #387
2.14.2 - 2021-12-18
- Improved error messaging for IRC Nick inputs.
- Fixed an issue preventing tagged nicks from being registered.
2.14.1 - 2021-11-07
- Removed redundant error handlers to allow errors to be properly conveyed.
- Upgraded dependencies to fix security header issues and migrate to Next 12
2.14.0 - 2021-10-17
- A new page to assist with editing QMS locale files has been added. - #370
- A general purpose JSON object editor has been implemented. this should come in handy at some point! - #370
- User avatars are now customizable through our new Avatar uploader! - #332, #375
- Error readout for unknown API Errors has been improved. - #328
- Reworded
Owns Odyssey
toUsing Odyssey
on rat cards to better convey the toggle's meaning. - #328 - Canceled donations will now return you to the donation form. - #328
- Optimized image loading and accessibility for images site-wide. - #328
- Further optimized font loading. - #328
- Moved raw version information to an API route (
/api/version
), and reworked version page to draw information from that route. - #328 - Moved all custom server functions into suitable replacements provided by our site framework. - #329
- This move has let us drop our entire custom backend.
- Updated
<Switch />
with an improved loading state animation. - #330 - Open rescues may no longer be edited by normal users while the rescue is open - #373
- Other smaller changes to sreamline development. - #328, #329, #370
- Failure to load password evaluation will no longer prevent forms that use it from being submitted. - #328
- Authorization page no longer displays an
Invalid Authorize Request
error when redirecting users after login. - #328 Using Odyssey
switch now properly enters a loading state while waiting on it's event handler to resolve. - #330- Profile page will no longer crash when deleting a rat. - #333
- Update lint configs
- Add
@next/eslint-plugin-next
into linting config.
2.13.1 - 2021-03-19
- An icon will now appear on rescues being held on the Elite Dangerous: Odyssey server. - #326
- Improved queue information display on Disaptch Board. - #326
- Improved queue information endpoint response times via better routing and caching. - #326
2.13.0 - 2021-03-19
- Added controls for rats to opt-in to Odyssey rescues. - #320
- Added
odyssey
field to registration page. - #320 - Added basic QMS queue counter to Dispatch Board. - #323
- Reworked page for nominating epic rats/rescues. - #316
- Resolved crash which would occur if rescue quotes is null. - #324
- Add @Delota as a contributor! 🥳 - #317
2.12.10 - 2021-03-10
- Removed the asterisk that displays when an input is required. - #315
- This will be re-introduced with some better visuals at a later date.
- Resolved issue preventing api routes from being correctly proxied. - #314
- Also take steps to ensure that doesn't happen again.
- Resolved issue prevening donation sessions from being created. - #315
- Resolved a crash on the paperwork page which would occur when changing the platform in certain situations. - #315
2.12.9 - 2021-03-10
- Added asterisk icon to inputs when they are required, but empty. - #312
- Tightened security on donation session creation (again) - #312
- Move fuelrats API routes to
/api/fr
to free up the api directory for other things. - #312
2.12.8 - 2021-02-01
- Fix multiple issues with redeeming decals - #309
2.12.7 - 2021-01-28
- Create developer panel on profile so devs can control their clients. - #302
- This is a very early working version. The asethetics can come later 😅.
- Further improve message displayed when email validation token is invalid.
- Rescue details pane will now close if the focused rescue is closed. - #307
- Logging out also removes your access token through the API, so your token cannot be used anywhere anymore. Thanks @Master-Guy! - #305
- Improve application stability by using a real non-value in key places. - #306
- Decal panel will now properly allow multiple decal redemptions. - #306
- Fixed dispatch page crash that could occur due to abnormal rescue object states. - #306
- Perform some preparation steps for Webpack 5 and Yarn PnP.
- Upgrade to Yarn 2 (but not PnP, that comes later when the bugs are solved).
- Add @Master-Guy as a contributor! 🥳 - #304
2.12.6 - 2020-12-20
- Added a message to the verification page which appears when a user attempts to verify a e-mail twice. - #297
- Change cases sorting to "last created first" on initial dispatch board load. Thanks @diraven! - #298
- Add @diraven as a contributor! 🎊 - #299
2.12.5 - 2020-11-21
- Rewrite
ChangePasswordModal
andDisableProfileModal
to use new form handling methods. - #295
- Resolve code bundling issue which caused the base bundle size to be more than double the size it should be. - #295
- Fix race condition that would allow certain requests to be made as someone other than the user making the request. - #295
2.12.4 - 2020-10-30
- Hide main menu when a nav item is clicked. - #293
- Remove next-named-routes since it's somewhat redundant now. - #293
- rewrite
<UserMenu />
so it reuses the<Nav />
components made for<Header />
. - #293
- Resolve error that would cause password resets to intermittently fail. - #290
- Resolve issues with DST improperly applying to date/time displays. - #291
- fixed a typo that stopped rats from being deleted. - #292
2.12.3 - 2020-10-19
- Add
apple-app-site-association
page for verification with apple services. - Add internal avatar generator to remove dependency on an external API. - #286
- Add message to
/dispatch
's401
page so users know why they can't access the board. - #288
- re-enable filtering for leaderboard names.
- specify avatar size when loading default avatar to optimize network usage. - #286
- Replace
react-spring
withframer-motion
for js animations. - #287 - Rewrite parts of
<Nav />
and<Header />
code so it's easier to work with. - #288
- Remove unused React imports and clean up import formatting. - #287
2.12.2 - 2020-10-02
This is the second recovery patch from APIv3 release. Changes were committed directly to develop for speed.
- Banner on profile page will appear when the user is not verified.
- Error ID will now be provided when users encounter a problem with the verifications page.
- Redundant CMDR check on CMDR name input is now case insensitive.
- Validation status icon on form inputs are no longer interactable.
- This is to provide some form of support for lastpass popup icon.
- Improve password input and validation for login and registration.
- Improve auto focus function of login form.
- Profile page crash if the user was unverified, but had a decal (somehow).
2.12.1 - 2020-09-29
This is the first recovery patch from APIv3 release. Changes were committed directly to develop for speed.
- Paperwork page now detects and corrects uppercase rescue ids.
- Dispatch board updating flash animation flashes in grey instead of red.
- Code Red and Inactive cases on the dispatch board use background colors from the original board.
- Case quotes on the dispatch board have a new styling and parsing system.
- Problems with permission checking have been corrected.
- Dispatch board displays timestamps in UTC instead of local time as intended.
- Dispatch board correctly displays loading circle while it's loading.
- Paperwork page properly enters submitting state when submitted.
2.12.0 - 2020-09-26
- Support for APIv3. - #191, #238, #240, #241, #245, #248, #251, #254, #255, #260, #263, #264, #266, #267, #268, #270
- Add support for 2FA login flow. - #240, #241
- Disable profile function which soft deletes a user. - #220, #265
- Add new system for generating forms which is more robust than any of our previous solutions. - #254, #263
- Integrate dispatch board. - #271
- Reworked error page so it integrates better into the website. - #240
- Redesign oauth authorize page for better context into what access apps request. - #247, #269
- Updated styles for checkboxes. - #253
- Rewrite
<LoginForm />
and<Switch />
. - #263
- Fixed removal of the accessToken cookie when the token is revoked. - #240
- Fixed error that occurred when user is not authorized to view a page. - #240
- Fixed bold font tag (
<b/>
) not doing anything to text. - #241
- Add
babel-plugin-classnames
into our babel toolchain. see documentation. - #243 - Add tool for generating TOCs in md files. - #243
- Add new blueprints (which are even cooler than snippets) for defining components in our website. - [#246][], #254
- Use github actions for our CI/CD solution. - #256, #258
- Drop basic support for IE 11. We will now redirect IE 11 users to our fallback website which will get them help. - #262
- Upgrade to Next 9.5. - #263
- use
.env.local
over.env
. - #263
2.11.5 - 2020-05-09
- Resolved issues with our CSS processing config. - #242
2.11.4 - 2020-05-24
- Add
.trim()
in to various inputs to prevent issues with spaces in names. - #249
- Reword all instances of "get help" to "get fuel". - #249
- Change out old carousel for a new set of images. - #249
- Make TOS/PP notice more obvious on /i-need-fuel. - #249
- Switch to new SVG implementation. - #249
2.11.3 - 2020-05-09
- Resolved issues with our CSS processing config. - #242
2.11.2 - 2020-04-16
- Fixed a 404 error that occurred after signing in when attempting to access an authenticated page. - #236
2.11.1 - 2020-04-13
- Resolved client error that occurs when attempting to authorize an external application - #233
- Resolved server error that arises when donation api bans file is not configured - #233
- Fixed an issue where the description and image associated with a donation amount - #233
2.11.0 - 2020-04-13
- Simplify a lot about the layout of the application - #228
- Convert
UserMenu
back to a class for our sanity - #228 - Remove
LocalForage
because it's no longer in use - #228 - Convert to next.js builtin SCSS loading - #228
- Make login button always gray so it doesn't pop out on the front page. - #221
- Wrap all JSX string literals in a container (New ESLint Rule) - #221
- Enforce consistent newline rules for JSX code containers (New ESLint Rule) - #221
- Begin Splitting up blog list into different components (for our sanity) - #221
- Update to
@fuelrats/next-named-routes
v3 for it's vastly superior syntax and better querystring handling - #228 - Add priority to
sitemap.xml
entries. - A ton of other style changes brought upon us by the release of
@fuelrats/eslint-config
v2 - #221 - Setup a better structure for Donation API - #230
- Fix up styling and output of donation page errors - #230
- Resolved a problem where certain changed values were not being taken into account when validating the paperwork form - #226
- Updated maximum CMDR name length so those with long names can properly register - #232
- Update
@fuelrats/eslint-config
tov2.1.0
- #221, #228 - Replace
node-sass
in favor ofdart-sass
- #222 - Restructure project to use a more standard file structure - #223, #224
- Replace all-contributors-cli with the all-contributors GitHub bot - #231
- Upgrade Rollup to v2.x - #231
- Upgrade Node to v13.x - #223
2.10.0-patch.2 - 2020-02-04
- Fix Forgot password input being uneditable - #219
2.10.0-patch.1 - 2020-01-29
- Fix donate page by removing recaptcha. We removed this due to seemingly unfixable inconsistencies across browsers. - #218
- Fixed an error in paperwork edit permission checks. - #217
2.10.0 - 2020-01-28
- Add donation page and it's subsequent donation result page - #210
- Add temporary donation API until APIv3 is out and we can use the new payments API we've been working on - #210
- Add foundation for recaptcha to be used in neccessary places - #210
- Replace remaining function refs with
React.CreateRef()
- #209 - Further optimize various components by removing inline function attributes (now disallowed by eslint config) - #209
- Re-order imports (enforced by eslint config) - #209
- Move rat tag rendering func to separate helper function. This same code was repeated in various places - #209
- Split router middleware into it's own directory for better route management - #210
- Remove old webstore entirely. Just display disabled option for now showing that it will be back - #210
- Remove antiquated code which used to handle updating blog list page - #210
- Migrate to
[email protected]
- #215 - Other small refactors for code legibility or optimization - #210, #215
- Fix locations of metadata files. They were in static, not on root directory - #210
- Fix disabled nav items so they never link to anything. We just want them sitting there looking pretty - #210
- Fix wp-content proxy origin header setting - #211
- Update to Babel 7.8 to support optional chaining and nullish coalescing operators - #216
- Add various new babel transform plugins to support new syntaxes - #209
- export-namespace-from
- optional-catch-binding
- Remove do-expressions since they're kinda too new - #216
2.9.2 - 2020-01-12
- Fix user session not being properly initialized after registration. - #213
2.9.1 - 2019-12-14
- Fix decal panel not displaying redeemed decals - #207
- Fix error when logging out from website - #207
- Fix accessToken not being passed to the OAuth authorization page - #207
- Fix registration page improperly checking platform input for value - #207
2.9.0 - 2019-12-14
- Allow
<TagsInput />
component to be disabled - Add flavor text to radio options on Paperwork page
- Add link to "How to file cases" confluence article to paperwork edit page
- Add change password modal to profile page
- Add handling for API resource type "Users"
- Add reminder that nicknames which are active on irc cannot be registered
- Disable & Clear first limpet field when outcome is not set to success
- Rework action creators to use a new action compositing system instead of a convoluted mess of a master function
- Simplify how rats are added/removed to rescues
- Rework Redux store so that API resources are processed using a significantly more efficient master reducer
- Rewrite and simplify session handling
- Replace
next-routes
with Next.js Dynamic Routes + new named route library - Adjust page transitions so they run a bit smoother between pages
- Rewrite
<RadioOptionsInput />
so it doesn't have to use deprecated lifecycle methods \o/ - Removed old checkout code to make way for new stuff later on
- Convert change password form into a modal
- Remove profile settings tab
- Various adjustments to input style
- Rewrite redux reducers using the
immer
library - Rewrite action type names to follow redux style guide.
- Remove remaining usages of our
React.Component
wrapper class. - Rewrite user menu to be more extensible and mobile friendly.
- Restructure version page a bit for consistency.
- Remove teespring link from webstore
- Double check login form validity on Firefox. (This fixes firefox autofill)
- Prevent double onChange events in
<TagsInput />
- Fix crash on paperwork pages when rescue ID does not exist
- Fix inconsistency in line-height property between application and modals
- Prevent a null value in rescue data causing an error
- Add THIS changelog file. :)
- Upgrade to Next.js 9
- Various adjustments made to site behavior due to changes in Next
- Stop linting styles in JS files
- Add tools for better redux debugging
- Update README badges.
2.8.0 - 2019-07-15
- Version page no longer links to github commit comparison as that information is not easily accessible via teamcity :(
- Rewrite modals so they have transitions.. and work better
- Disable storefront while our quartermaster is away
- Fix Privacy Policy links on
/register
and/i-need-help
. Thanks @noctilucent-dev
- Move website CI to our own teamcity instance. woo!
- We added stylelint to our tool chain, so our css is more betterer
2.7.3 - 2019-06-27
- Fix nickname password input.. we broke it.. oops...
2.7.2 - 2019-06-26
- Add rat honors to leaderboard
- Add local pagination and rat name filtering to leaderboard
- New redesigned profile front page (that looks amazing)
- Remove old statistics page and everything related to them. Link to public grafana board instead
- Clean up Regex patterns/match stuff
- Clean up
<AppLayout />
, Move page transition to it's own component (<PageLayout />
) - Define custom next
_error
page instead of shoehorning our own in for no good reason - Move
ImageLoaderWorker
to global state - Change how carousel handles slide data so it plays nice with images loaded via global worker
- Fix CSP for edge and older firefox versions
- Fix authorize page being hidden when preAuthorized
- Fix SSR rendering breaking on pages (react-spring bug fixed in v9)
2.7.1 - 2019-06-16
- Fix nickname input styles
2.7.0 - 2019-06-11
- Front page slideshow/carousel
- With image loading web worker logic by @EladKarni
- New rat manager so you can create, rename, and delete rats at will. (ship manager coming soon!)
- Rescue list/search page for overseer+
- Global state selectors to simplify redux state mapping
- Page url parameter for profile page tabs
- Redesigned paperwork view page
- This is also @314numberpi's first major contribution as our latest tech rat! Welcome to the team
- Redesign store products page slightly so it's nicer to interact with
- Add rescue header and quotes to paperwork edit form
- Add simple page transitions. Now you're playing with (
react-spring
) power! - Improved switch toggle by adding icons to better illustrate state
- This has the added effect of also making the switch color-blind friendly
- Add tooltips/error messages to ValidatedFormInput - Thanks @EladKarni
- Display TOS/COC pages after the user attempts to submit registration form - Thanks @EladKarni!
- Automatically trim whitespace for IRC nicks and CMDR names - Thanks @EladKarni!
- Update TabbedPanel tab appearance
- removed an easter egg. (but it's okay since it was removed to make way for a real implementation of what the easter egg did.)
- unmount page from app if user logs out while on authenticated page
- Fix up SCSS styles to comply with node-sass
- Fix store order listing page breaking when products/skus no longer exist
- Various other small bugfixes and overall improvments
- Upgrade to Next 8
- Better project documentation
- Update project code style
2.6.3 - 2018-12-19
- Clean up helper functions
- Fix bug preventing proper registration flow
- Update various dependencies
2.6.2 - 2018-11-17
- Hide layout on authorize page when the user is pre-authorized
- this is to ease the feeling of being "tossed around" when going through the oAuth flow
- Add "hidden" version information page
- Prefix all DefinePlugin globals
- Fix login dialog min password length requirements
2.6.1 - 2018-11-11
- Fix rat global state filters
- Fix style-src CSP
2.6.0 - 2018-11-10
- Add dark input fields
- Implement said dank (yes) input fields on the login dialog
- Implement opt-in login session saving
- expose dispatch and getState to the onComplete event handler for action creator templates
- Fix nav styling
- Fully transition to the new @fuelrats/eslint-config-react package
- Restructure project files
2.5.2 - 2018-10-13
- Adjust code style to comply with updated ESLint stuff
- Update ESLint stuff
2.5.1 - 2018-10-11
- Move billing info from shipping info stage to order summary page
- Handle cases where the user changes their cart mid-order
- Introduce
sortPriority
metadata field for store products, letting us determine the view order - Clean up currency string formation by defining a helper function to do it for us. (Get Money ( ͡° ͜ʖ ͡°))
- Hide attribute descriptors if no attributes for a product exist
- Make it more clear that our billing form is secured through stripe
- Clean up old cruft we don't use
- Remove packages which are no longer used
- Remove all i18n stuff as we have since decided not to translate the website
- Rename instances of
store
subdirectories tostorefront
. This is to avoid confusion between the redux store and the stripe storefront - Clean up server modules, and only disable certain eslint rules instead of simply turning off eslint entirely for certain modules
- Clean up getActionOptions even further, and rename to buildActionOptions
- Forward dispatch and getState functions to action response handlers
- define an actionStatus enum type
- this is currently only being used in the actionCreators file, however the plan is to convert all string comparisons to enum comparisons so eventually we can turn the strings into symbols
- rewrite blog retrieval logic AGAIN so we can fully remove isomorphic-fetch from the project
2.5.0 - 2018-10-10
- Storefront + accompanying management pages
- Page locking by API permission feature. AppLayout will display a 401 error page if the current user lacks a specified permission
- Rewritten blog loading logic makes the blog 350% more bearable to load
- Automagically authorize requesting clients if the user has previously accepted access
- make various CSS changes to lower space usage in certain cases
- make LoginDialog more mobile friendly
- reword buttons on i-need-fuel again so things are even easier to interpret
- re-style inputs to glow red when the field is required and empty, green if required and valid
- This has also been applied to most other custom input fields like TagsInput
- Improve performance of statistics page by increasing the minimum rescue count to 50 for the rescues by system display
- preload authorize page data so we can remove a loading screen
- No longer assume administrators always have all permissions on the API
- Add 1Password to acknowledgements page
- Add a list of dependencies to the acknowledgements page
- Clean up
<AppLayout />
and move user initialization to it's own helper module - Use dectorators for page flagging and the connect helper function to make our lives a little easier
- rewrite getActionOptions in ActionCreators to make it easier to read and perhaps a bit faster
- remove uglify step in
next.config.js
as next already does that for us on production builds
- Fix authorize page scope list so that accessible client scopes actually display as accessible scopes
- Fix bug in the blog page where removing a filter without reloading the page fully results in the filter staying on
- Properly display next/error page when response code is set to an error value
- Migrate to NextJS 7
- Migrate to ESlint 5
- Update ESLint rules, and code to reflect changes in enforced rules
- Add
<React.StrictMode />
to the app root so we can identify problematic components.
2.4.3 - 2018-08-27
- update rat kiwi link
- Properly display inaccessible oAuth scopes
2.4.2 - 2018-08-24
- Add "rat links" nav section for logged in rats
- Add code for deleting nicks, however due to various problems with our current method of nick management, this has been left disabled until we have transitioned to LDAP / Atheme
- Add a first-time welcome message which links new users to the new rat documents
- Move register button to below the "get help" button
- Continue making register page more clear that it isn't for clients... because people don't get it
- Remove subnav state tracking from global state since the sidebar is now a persistent element
- Fix eslint to allow react fragment shorthand syntax <>...</>
- Prevent PS4 browser users from raising a r-sig, provide additional instructions on how
- kiwi client does not work on PS4 browser
- It's better to have them move to a phone or computer
- Rewrite various bits of code to keep in line with new rules enforced by airbnb style guides
- A few were disabled because even airbnb went back on the specific rules due to how silly they were
- Others are generally better for efficiency and play better with the soon-to-be async nature of react
- Fix ADD_NICKNAME and CREATE_RAT reducers so they actually update lists properly
2.4.1 - 2018-07-27
- Remove some unused code
- Fix ToS title typo
- Fix authentication redirects
- Remove debug output that shouldn't have been left in
- Prevent crash on paperwork page when system is null
2.4.0 - 2018-05-28
- Attempt to display wordpress page of the same slug when the page does not exist on the website
- other fun things
- Rewrite Page component to a wrapper child element
2.3.2 - 2018-05-24
- Fix oauth page error caused by sending the wrong args to function
2.3.1 - 2018-05-23
- Only show rats with rescues on the leaderboard
- Fix favicon meta
- properly provide browserconfig, sitemap, and manifest files
2.3.0 - 2018-05-22
- Add paperwork edit button
- Add paperwork error messages
- Add social media icons
- Add merch link (rushed release due to this)
- Easter Egg
- Redo paperwork component
- Upgrade to next 6
- Introduce server-side data fetching, starting with paperwork
2.2.0 - 2018-05-13
- New Privacy Policy
- Update registration process to be GDPR Compliant
- Reworked nav layout
- Rewrite dialogs to support a more responsive layout
- Improve wording on paperwork page
- Improve mobile support
2.1.9 - 2018-04-16
- Fix errors that occur during password resets and registration
2.1.8 - 2018-03-27
- Donation page
2.1.7 - 2018-04-11
- Add link directly to the blog's art category
- Implement
next-routes
for better routing - Better error display and handling for certain cases
- New radio input for styled choice inputs
- Add epic resource handling
- Add epic submission page (disabled for now)
- Always submit rescue system as a capitalized system name
- Prefer token cookies over LocalForage
2.1.6 - 2018-01-18
- Change all instances of the word "Login" to "Rat Login"
- Change all instances of the word "Register" to "Become a Rat"
- Both of these changes were made in interest of removing confusion for clients
2.1.5 - 2018-01-17
- Introduce acknowledgements page to credit those who have helped us so much
2.1.4 - 2018-01-10
- Correctly set CR and system fields in paperwork
2.1.3 - 2017-11-14
- Swap to new TravisCI webhook
- Fix Routing error caused by trailing slashes in paths
- Send correct oAuth decision to API when denying oAuth authorization
2.1.2 - 2017-10-09
- Restore IRC nick registration
- IRC notifications to #rattech for Travis builds
- Fix hero display on small screens
2.1.1 - 2017-10-05
- Temporarily disable nickname registration
2.1.0 - 2017-10-05
- OAuth page
- IRC Nickname registration
2.0.1 - 2017-09-11
- Password field suggestions and warnings
- Made - Thanks @Spansh
2.0.0 - 2017-09-09
- Initial Release
v1.0 refers to our old wordpress-based hybrid site which had major problems and wasn't very extensible in the long run.
We look back on that old website fondly, but alas technology must continue moving forward.
also... react is cooler, yo.
basic format:
* message - [#pr1][], [#pr2][] - @externalContributor
- Entries must be easy to consume. Complex changes should be split up or made into a sublist of changes.
- Entries for changes made by external contributors should be attributed via mention.
- Changes made by team members should not be attributed.
- Entries must contain links to all PRs to
develop
which contribute to the change.- Changes made before 2.9.1 are kinda exempt right now. We're adding them over time.
- Entries must be grouped using the following groups:
- ✨ Added - For new features and additions.
- ⚡ Changed - For any changes to existing features, or removal of old ones.
- 🐛 Fixed - For bug fixes
- ⚙ Tasks - Chores relating to the upkeep of the project or repository. (documentation, dependencies, etc.)