All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog. As of this writing, this is a rolling-release project without any meaningful versioning whatsoever. Tags/releases may be created for the sole purpose of documenting major updates to the project.
- Fixed CSS injection vulnerability in MathJax renderer (https://news.ycombinator.com/item?id=40615653).
- Add Serbo-Croatian localization (#1365).
- Add Cross-Origin Resource Policy support (#1309).
- Add Uzbek localization (#1303).
- Add Danish localization (#1277).
- Add Hungarian localization (#1231).
- Enforce origin checks on app homepage (#1254).
- Fix bottom border getting cropped off on Windows (#1245).
- Add Purple Dark theme (#1144).
- Disable upvote button (#1152).
- Fix timeline element not being hidden when the discussion hasn't been created (#1151).
- Add Esperanto localization (#1124).
- Update comment sorting button styles to match GitHub (#1096).
- Various style fixes (#1030).
- Add sign out button (#919).
- Use
<link>
element to load default CSS (#920).
- Use lazy loading for avatar images (#918).
- Add Persian localization (#867).
- Clear session if state has expired (#823).
- Fix locale loader to avoid bundling all locales (#818).
- Improve onboarding config UX (#807).
- Disable automatic revalidation of the first page (#805).
-
Add locale fallback for
zh-Hant
(#773). -
Add locale fallbacks for
zh-Hans
andgsw
(#772). -
Add Thai localization (#771).
- Fix
LAUGH
reaction emoji (#746).
- Use
giscus:backlink
<meta>
tag if exists to link to the origin page (#642). - Add styles for
flash
andflash-error
classes (#639).
- Self-host MathJax libraries (#637).
- Remove iframe-resizer host script
(#638).
Note: if you're using giscus-component, make sure to update to v2 and up. - Safely remove MathJax settings (#641).
- Add Arabic localization (#622).
- Improve RTL languages support (#626).
- Add Portuguese localization (#581).
- Add support for mathematical expressions using MathJax (#548).
- Add Tritanopia themes (#549).
- Use MathJax 3.2.0 and fix a11y failing to load (#550).
- Add support for Note and Warning with blockquotes (#544).
- Minor style fixes (#500).
- Remove
<summary>
marker for reactions button on Safari (#486).
- Use GitHub's Mona loading animation (#477).
- Minor style fixes (#484).
- Minor style fixes (#475).
- Add spaces between date parts for Chinese locale (#464).
- Improve reaction button popover menu (#449).
-
Add the option to use
loading="lazy"
on the<iframe>
(#438). -
Append container element id as anchor to the origin URL (#439).
- Add Turkish localization (#420).
-
Fix new comment creation when comments are ordered by newest-first (#413).
-
Fix mismatched mutators when comments are ordered by newest-first (#412).
- Fix height with top input position or reactions disabled (#409).
- Only apply
X-Frame-Options
header on homepage or widget with invalid origin (#403).
- Resize iframe with
ResizeObserver
(#392).
Note: if you're using giscus-component, please update to the latest version. The previous iframe resizing technique is now deprecated and will be removed in the future.
- Fix crash if a comment author user account has been deleted (#391).
- Expose ids and description in config context (#383).
- Fix crash when rendering footnotes (#382).
- Allow setting default comment order in giscus.json (#375).
- Add GitHub Light High Contrast theme (#373).
-
Add Russian localization (#355).
-
Add
inputPosition
option to place the comment box above the comments (#358).
Note: thegsc-comment-box-separator
class has been removed. -
Add buttons to order comments by oldest and newest (#372).
Note: you'll need to add--color-btn-selected-bg
and--color-primer-shadow-inset
variables if you use a custom CSS.
- Fix blob-wrapper styles (#347).
- Add Vietnamese localization (#346).
- Wrap client script in IIFE (#343).
- Add German localization (#325).
- Fix emoji
font-weight
andfont-family
(#324).
- Minify client script (#322).
- Wrap search term in double quotes (#290).
- Add Japanese localization (#290).
- Minor fixes (#273).
- Add fixed-width font toggle to
CommentBox
(#213).
- Add Korean localization (#253).
- Ensure
session
param is removed inorigin
URL (#246).
Note: for security measures, user tokens have been reset. Users will need to authorize giscus again the next time they log in.
- Add Spanish localization (#241).
- Update dependencies (#217).
- Minor style fixes (#238).
- Add Dependabot for updates (#215).
- Use new setup-node caching (#216).
- Add
type="button"
to non-submit buttons inCommentBox
(#212).
- Allow submitting comment with Command+Enter (#211).
- Show language names in their original language (#210).
- Add Simplified Chinese localization (#206).
- Add French localization (#202).
- Fix relative time formatting (#201).
- Add Romanian localization (#196).
- Use next-translate for i18n and add Polish l10n (#192).
- Cache GitHub App installation access tokens using Supabase
(#195).
Note: if you self-host giscus, check out the new addition to the self-hosting guide to configure token caching on your installation.
- Show API rate limit error message and sign in button (#190).
- Log error if
response.data
isundefined
(#189).
- Add colorblind beta themes (#187).
- Use primer/primitives v5 as theme base and update looks to match GitHub updates (#186).
- Improve footnotes rendering (#185).
- Improve comment replies pagination (#184).
- Statically render the onboarding comment (#183).
- Move repository to giscus organization (#180).
- Add Vercel banner (#179).
- Reduce memory usage limit to 192MB
(#178).
Note: please consider donating, I've been hitting my free usage limit on Vercel 🙁
- Self-host iframeResizer (#172, #173).
- Upgrade SWR to 1.0 (#174).
- Get app host from environment variable
(#177).
Note: if you self-host giscus, you need to set theNEXT_PUBLIC_GISCUS_APP_HOST
variable so that the domain correctly shows up in the configuration step.
- Upgrade dependencies (#171).
- Redirect to app return URL if access is denied by user (#167).
- Update upvotes and reactions UI to match GitHub's new UI
(#164).
Note: this might be a BREAKING change if you use a custom CSS. - Scale font size to 5% of viewport width on tiny screens (#164).
- Project configuration fixes (#164).
- Refactor markup and CSS to improve customizability
(#158).
Note: this might be a BREAKING change if you use a custom CSS. - Use
Navigator.clipboard
API to copy to clipboard (#159). - Use
stale-while-revalidate
for theme files (#159).
- Add link to giscus-component (#155).
- Use strict-origin Referrer-Policy to avoid excessive header length (#154).
- Improve theme performance on initial load to prevent flashing (#155).
- Add security headers (#147).
- Use media query in CSS for
preferred_color_scheme
theme (#146). - The "origin not allowed" error message implemented in
#125 is no longer shown.
Instead, the browser will now refuse to load the
iframe
as a result of theframe-ancestors
value in theContent-Security-Policy
header (#147). - Upgrade Next.js to 11 and update other dependencies (#149).
- Only apply
iFrameResize
to.giscus-frame
iframes (#150).
- Fix unreadable reactions popup menu due to transparent background in Transparent Dark theme (#148).
- Link to GitHub guides for the repository requirements (#142).
- This changelog (#139).
- Add option to emit discussion metadata (#136).
- Add support for updating config on-the-fly with
postMessage
(#138).
- Improve theme performance (#135).
- Fix memory limit config (#133).
- Limit functions memory usage to 256MB (#132).
- Add custom CSS support (#128).
- Fix
getFile
service function (#127).
- Fix crash on categories with GitHub custom emojis (#122).
- Listen to preferred theme changes (#123).
- Force repository name to lowercase in discussion query (#124).
- Add Transparent Dark theme (#110).
- Minor improvements (#111).
- Remove typo from privacy policy (#109).
- Add option to also filter by category (#105).
- Fix prerender crash if
getAppAccessToken
fails (#103).
- Add default CSS in client script (#102).
- Drop passthru GraphQL API (#99)).
- Fix missing space in "Sign in to" (#101).
- Create self-hosting guide (#98).
- Reduce bundle size (#97).
- Handle bad credentials, invalid state, and log other errors (#95).
- Only listen to resize events from the iframe (#89).
- Opt-out of FLoC and fix some minor issues (#88).
- Minor improvements (#83).
- Branding-related updates (#82).
- Don't add clipboard button to
js-file-line-container
(#81).
- Reintroduce copy to clipboard button in code blocks (#78).
- Minor improvements (#79).
- Initial release.
- Link to discussions in comments count (#74).