jcv8000/Codex
A free note-taking software for programmers and Computer Science students
📦 General
- Updated to Electron 32 and Node.js 20
- Added Russian localization (@wennerryle) #85
- Updated MathLive to 0.104
- This adds a new menu in the Math Editor to insert common math expressions easily, like a matrix.
🐛 Bug Fixes
- Fixed an issue where favoriting / unfavoriting pages doesn't work.
- Fixed an issue where the `textContent` of notes was not being saved, which is what the search bar uses to find text.
- If the search bar is not correctly finding text in your notes, you might need to go through your pages manually and re-save them to generate each page's text content for searching.
✨ New Survey
- https://forms.gle/r4HqxLb6Yh663LV28
📦 Other
- As always, bug reports and issues go in the [Issues](https://github.com/jcv8000/Codex/issues).
📦 Important
- Reworked saving system - #72
- Now only saves when there are changes made to a page
- New "Autosave when switching pages / exiting the editor" setting
- Enabled by default (same behavior as how it used to work)
- Disabling this setting will show a popup to save/discard unsaved changes when switching pages or exiting the editor
📦 Tech Stack Upgrades
- Updated to Node.js 18 and Electron 26
- Upgraded to Vite 5
- 72 new icons from Tabler Icons
🐛 Bug Fixes / Improvements
- Fixed when deleting the active page, the editor doesn't go back to Home
- Fixed sidebar width not actually saving when dragging it all the way to the left or right
- When creating an item inside a folder the folder will open to show the new item
- Fixed "Toggle Developer Tools" menu item not working
- Added a tip about alt+clicking folders to recursively close its subfolders
📋 Changes
- 18 new icons from Tabler Icons 2.41
- Fixed horizontal rules being difficult to see in dark mode
- Fixed block quote borders being difficult to see in dark mode
- Fixed copying and pasting text with a custom font-size not working correctly
- Added (mostly complete) Simplified Chinese translation thanks to @hghgthifg (#66)
📋 Changes
- Fixed an issue where the Editor was reloading its content and extensions while typing - ca8d911
- Switched back to React instead of Preact in builds, the React build doesn't seem to lag while typing as much as Preact did - 078b1e8
- 18 new icons from Tabler Icons 2.40
📦 Improvements
- Added single-line and multi-line indenting and un-indenting (Tab / Shift-Tab) in code blocks
- Added a Tab Size setting for how many spaces to add/remove when pressing Tab/Shift-Tab in code blocks
- Added a setting for word-wrap in code blocks (disabled by default)
- Icon Selector:
- Now shows the name of the selected icon below the icon in Edit menus
- The Icon Selector popup highlights the currently-selected icon
- Improved how icons are searched for, finding them by name should be easier
- Custom scrollbars for code blocks
🐛 Bug Fixes
- Fixed not being able to tab/shift-tab in code blocks that are inside a table
- Fixed tab/shift-tab not working to sink/lift list items
- Localized the "Collapse" tooltip in code blocks
- [Contribute your own translation/language to Codex](https://github.com/jcv8000/Codex/blob/master/.github/CONTRIBUTING.md)
✨ Features
- Updated to Electron 22.3.27
- Hundreds of new icons from Tabler Icons (`2.30 -> 2.39`)
- Added custom Codex icon to icon list
- Clickable links in editor (Ctrl-click or Cmd-click)
- Prompts before opening to make sure you trust the link, you can also trust specific domains
- Visible border between links right next to each other that have different URLs
- Hovering over links shows the URL
- New editor toolbar button for creating/editing links
- + 3 more
🐛 Bug fixes / Improvements
- Fixed an error popping up when an update check failed - https://github.com/jcv8000/Codex/commit/be955e125d479211f60b41a7f4dceaf8e3b8f82a
- Fixed scrollbars appearing in code blocks in exported PDFs - https://github.com/jcv8000/Codex/commit/e8395eed25b675ad68e61bf1b6027445a43efe94
- Fixed code blocks inside of tables stretching the table past the width of the editor - https://github.com/jcv8000/Codex/commit/cd7540cfa421813489b59ada1a270ce85ee92778
- Code blocks inside of tables now display correctly when exporting to Markdown - https://github.com/jcv8000/Codex/commit/bd5498e91162b1ee7ccb784376a9c072bbf156fe
- Fixed PDFs having dark-mode styles if Codex is set to dark mode - https://github.com/jcv8000/Codex/commit/6fc8fb9229b4689118982347e98fcf5646eb6fdd
- Adjusted the sizing of the editor toolbar so that it fits on a regular 1920 x 1080 screen without wrapping
- This is a complete rewrite of the project using better technologies like TypeScript and React.
📦 ⚠️**Back up the `save.json` and `notes` folder for _all_ of your saves before updating to 2.0.0⚠️**
- The new version has to convert your old save file and each individual page's file to a new format, you should back everything up in case something gets corrupted.
📦 Code Signing
- Official macOS builds (x64 and arm64) are now being included and _are_ code-signed & notarized with an Apple Developer account.
✨ New Features
- New UI library & redesign
- Notebooks/Folders can be nested inside of other notebooks/folders for better organization
- Pages can now also be top-level by dragging it above/below a top-level Notebook
- Switched to the Tabler Icon library that has over 4,800 icons, and a lot more programming/CS-related icons
- You can now change icons for Pages
- New Icon Picker popup for changing an item's icon
- The sidebar now has a Search bar that lets you search for pages by name and by their contents
- Completely new editor using TipTap
- + 16 more
📦 Next Steps
- If you find any issues/bugs with this beta release of 2.0, or if you have any suggestions or feedback, please make an Issue here.
- A new website and docs will be coming out soon.
- Might look into releasing Codex on the Microsoft Store and the Mac App Store
✨ Planned Features for later (2.1.0?)
- Canvas element, which will let you draw in the editor
- In-editor search (like Ctrl+F in a browser)
- Create links to other pages in your notes
- Embedding YouTube videos
- ⚠️Back up the `save.json` and `notes` folder for _all_ of your saves before updating to 2.0.0⚠️
📦 ⚠️**Back up the `save.json` and `notes` folder for _all_ of your saves before updating to 2.0.0⚠️**
- The new version has to convert your old save file and each individual page's file to a new format, you should back everything up in case something gets corrupted.
📦 Code Signing
- Official macOS builds (x64 and arm64) are now being included and _are_ code-signed & notarized with an Apple Developer account.
✨ New Features
- New UI library & redesign
- Notebooks/Folders can be nested inside of other notebooks/folders for better organization
- Pages can now also be top-level by dragging it above/below a top-level Notebook
- Switched to the Tabler Icon library that has over 4,000 icons, and a lot more programming/CS-related icons
- You can now change icons for Pages
- New Icon Picker popup for changing an item's icon
- The sidebar now has a Search bar that lets you search for pages by name and by their contents
- Completely new editor using TipTap
- + 16 more
📦 Next Steps
- If you find any issues/bugs with this beta release of 2.0, or if you have any suggestions or feedback, please make an Issue here.
- A new website and docs will be coming out soon.
- Might look into releasing Codex on the Microsoft Store and the Mac App Store
✨ Planned Features for later (2.1.0?)
- Canvas element, which will let you draw in the editor
- In-editor search (like Ctrl+F in a browser)
- Create links to other pages in your notes
- Embedding YouTube videos
- ⚠️Back up the `save.json` and `notes` folder for _all_ of your saves before updating to 2.0.0⚠️
📋 Changelog
- This is a minor release to update packages that had security vulnerabilities.
- Also added a note on the home screen to let people know that version 2.0 is coming soon and the project isn't dead
📋 Changes
- Fixed a code execution vulnerability (#8) with notebook names/page names. This could only happen if you typed in a malicious name yourself or downloaded a `save.json` file from someone else and put it in your save directory.
- Using a code block with the "other" language doesn't freeze the editor anymore and highlights properly (#9)
- The code language overlay now doesn't show if there's no language/other
- Added menu options and macros for Nim and OCaml (macros: `[nim]` and `[ocaml]`)
- Added a section in the "Basic Editing" doc about how to paste in images
📋 Changes
- Added support for KaTeX equations in notes
- You can now collapse large code blocks by clicking the arrow icon in the top-right of the code block
- Added Markdown exporting
- Added an option to export all of the pages in a notebook to PDF/markdown
- Included a better default font for Linux users (Fira Mono)
- Updated Electron to `12.1.0`
- Removed the survey link from the home page, moved it to the Help menu/tab
- Added a documentation page for equations
- + 15 more
📦 For developers
- Added electron-builder to the devDependencies so it doesn't have to download every time you run `npx electron-builder`
📋 Changes
- Updated a package that had a security vulnerability (Codex doesn't load any external content anyway, except for checking for updates, so it shouldn't have affected Codex users)
- Updated to Electron 12.0.11
- Added a link to an optional feedback survey on the home page
📋 Changes
- Added custom scrollbars to the sidebar and main window
- Resizable and responsive sidebar that can be collapsed and opened even in small windows
- Redesigned home page
- Favorites section on home page
- Code blocks can now show the code block's language in the top-right
- You can now set a custom Icon for each notebook
- Updated to Electron 12.0.8
- Switching pages now scrolls the page to the top as it should
- + 7 more
Nothing has changed yet with this build, but **the Windows executables are signed with my code-signing certificate again for extra security and to verify that the executable was compiled by me**. You should see when installing/running that the verified publisher is "Joshua Vickery" if you aren't building locally.
📋 Changes
- Enabled spellcheck in the editor
- Smaller font size on code blocks
- Reworked settings page
- Added shift-tab keybind in code blocks
- Remade about page
- Fixed pdf background
- Fixed context menus going off-screen
- Fixed text on "rename" button
- + 8 more
📋 Changes
- Fixed auto-indentation not working on code that has actual tab characters
- The behavior of writing Lists has been improved a lot
- Pressing Ctrl+U now enables Underline even if you don't have any text selected, just like bold and italics
- Added a macro for the R language, `[r]`, and a menu item
- Fixed editor toolbar not being centered in a small window
- Fixed the spacing between list items
- Made the numbers in a numbered list bold
- The New Update popup now has a link to view the changelog
- + 3 more
