diff --git a/src/pages/whats-new/2024-12-December.md b/src/pages/whats-new/2024-12-December.md
new file mode 100644
index 0000000..244c176
--- /dev/null
+++ b/src/pages/whats-new/2024-12-December.md
@@ -0,0 +1,283 @@
+---
+date: December 2024
+summary: Changes to vscode-brightscript-language, brighterscript, roku-deploy, roku-debug, ropm, brs
+layout: ../../layouts/WhatsNewPost.astro
+---
+# Overview
+Welcome to the December 2024 edition of "What's New in RokuCommunity." Please consider subscribing to stay up to date with what's happening in RokuCommunity.
+
+## We need your help
+The RokuCommunity projects are maintained by a relatively small group of developers (mostly volunteers), and we have a growing list of unresolved issues. We need your help! There are many different ways you can contribute. Whether it's addressing bugs, improving documentation, introducing new features, or simply helping us manage our expanding list of GitHub issues, your involvement would be greatly appreciated. We are more than happy to guide you in finding the most suitable contribution method that aligns with your interests. To learn more about how you can contribute, feel free to reach out to us on [Slack](https://join.slack.com/t/rokudevelopers/shared_invite/zt-4vw7rg6v-NH46oY7hTktpRIBM_zGvwA), or explore the existing GitHub issues:
+
+- [vscode-brightscript-language](https://github.com/rokucommunity/vscode-brightscript-language/issues)
+- [brighterscript](https://github.com/rokucommunity/brighterscript/issues)
+- [brighterscript-formatter](https://github.com/rokucommunity/brighterscript-formatter/issues)
+- [roku-deploy](https://github.com/rokucommunity/roku-deploy/issues)
+- [roku-debug](https://github.com/rokucommunity/roku-debug/issues)
+- [bslint](https://github.com/rokucommunity/bslint/issues)
+- [ropm](https://github.com/rokucommunity/ropm/issues)
+- [brs](https://github.com/rokucommunity/brs/issues)
+- [roku-report-analyzer](https://github.com/rokucommunity/roku-report-analyzer/issues)
+- [@rokucommunity/promises](https://github.com/rokucommunity/promises/issues)
+- [roku-http](https://github.com/rokucommunity/roku-http)
+
+## Issue of the month
+
+In this section, we highlight a specific issue where we could benefit from the community's assistance in finding a solution. These problems are generally straightforward to address, and serve as an excellent opportunity to become acquainted with the various RokuCommunity codebases.
+
+This month, we'd like to highlight [SOME_GH_ISSUE](SOME_URL). SOME_DESCRIPTION
+
+
+If you're interested in working on this feature, please comment on the [github issue](SOME_LINK) or reach out to us on [Slack](https://join.slack.com/t/rokudevelopers/shared_invite/zt-4vw7rg6v-NH46oY7hTktpRIBM_zGvwA)
+# Editor
+## Added AppManager AppMemoryMonitor AppMemoryMonitorEvent coloring
+
+
+
+
+
+## Potental fix for numeric literal colorization
+
+
+Fixes https://github.com/rokucommunity/vscode-brightscript-language/issues/547 (decimal number without leading digit syntax highlighting bug)
+
+**Before:**
+
+
+
+**After:**
+
+
+
+
+## Syntax highlighting but for object functions
+
+
+Fixes https://github.com/rokucommunity/vscode-brightscript-language/issues/411 syntax highlighting for the `as` keyword in function return types when a parameter is also of type `function`
+
+**Before:**
+
+
+**After (notice the `as` is purple now):**
+
+
+
+
+## Task/new remote commands
+
+
+**Added the following new commands:**
+- `extension.brightscript.setVolume`: Set a target volume level by repeatedly pressing VolumeDown followed by VolumeUp buttons on the Roku remote
+- `extension.brightscript.pressBlue`: Press the Blue button on the Roku remote
+- `extension.brightscript.pressGreen`: Press the Green button on the Roku remote
+- `extension.brightscript.pressRed`: Press the Red button on the Roku remote
+- `extension.brightscript.pressYellow`: Press the Yellow button on the Roku remote
+- `extension.brightscript.pressExit`: Press the Exit button on the Roku remote
+
+**Fixed the following commands:**
+- `extension.brightscript.pressVolumeUp`: This was sending the wrong value to the device resulting in an error and failing to execute
+
+
+## Fix issues with busy spinner showing too many error messages
+
+
+Fixes a bug when the busy spinner has run too long, it would show _many_ console logs instead of 1 at the end. This fixes that.
+
+
+
+# Debugging
+
+## Fix cli bug
+
+
+Fixes a bug that was preventing the cli from actually running (due to missing `yargs` prod dependency).
+Fixes #195
+
+
+## Upgrade dependencies
+
+
+Some dependency maintenance:
+
+- Migrate `vscode-debugadapter` and `vscode-debugprotocol` to `@vscode/debugadapter` and `@vscode/debugprotocol`.
+- remove `vscode-languageserver` in favor of a local interface (and references to stuff from brighterscript)
+- upgrade to latest `postman-request`
+- fix a few npm audit issues
+
+
+
+## Add the missing `Diagnostic` props to `BSDebugDiagnostic`
+
+
+Followup to #202 that adds a few mission props to the `BSDebugDiagnostic`
+
+
+## Add children roSGNode containers
+
+
+Adds virtual variables for `$count` and `$children` for `roSGNode` and `$count` for arrays.
+
+
+
+
+
+## Check for two error types. Make sure we do not double display an error
+
+
+
+
+
+
+# BrighterScript
+
+## Add more convenience exports from vscode-languageserver
+
+
+Adds a few additional exports from the vscode-languageserver package to eliminate the need for external projects to directly require that package.
+
+
+
+# Community Tools
+
+## brs
+## Implemented Optional Chaining Operators
+
+
+This closes #20
+
+
+## roku-deploy
+## Bump dependencies to remove audit issues
+
+
+Bump some npm dependencies to eliminate some audit issues.
+
+
+## Identify when a 577 error is thrown, send a new developer friendly message
+
+
+
+
+
+## Fix issues with detecting "check for updates required"
+
+
+Improves upon #180 . Apparently the device actually returns status code `200` instead of `577`. `577` is some other type of error, we should handle that separately.
+
+This now checks for `200` responses to see if the exact text `'Failed to check for software update'` is found. If so, that's when we throw the `UpdateCheckRequiredError` error.
+
+
+## ropm
+## Add create-package script
+
+
+Adds the `create-package` script to help test packages before they're merged or released.
+
+
+## Fixes missing prefixes in .bs and d.bs files for interfaces, enums, and constants
+
+
+Fixes a pretty big bug where ropm doesn't understand root-level enums, interfaces, or constants!
+
+- now properly wraps top-level enums, constants, and interfaces with the prefixed namespaces
+- prefixes interface and class member types with the prefix namespaces
+
+
+## Fix EINVAL crash
+
+
+Related Issues:
+- [EINVAL crash on latest nodejs](https://github.com/rokucommunity/ropm/issues/77)
+
+> There's a weird crash with the latest version of NodeJS when running ropm.
+
+```$ ropm install roku-requests
+Error: spawn EINVAL
+ at ChildProcess.spawn (node:internal/child_process:421:11)
+ at Object.spawn (node:child_process:760:9)
+ at C:\Users\bronley\AppData\Roaming\npm\node_modules\ropm\dist\util.js:24:40
+ at new Promise ()
+ at Util.spawnAsync (C:\Users\bronley\AppData\Roaming\npm\node_modules\ropm\dist\util.js:23:16)
+ at Util.spawnNpmAsync (C:\Users\bronley\AppData\Roaming\npm\node_modules\ropm\dist\util.js:37:21)
+ at InstallCommand.npmInstall (C:\Users\bronley\AppData\Roaming\npm\node_modules\ropm\dist\commands\InstallCommand.js:70:27)
+ at async InstallCommand.run (C:\Users\bronley\AppData\Roaming\npm\node_modules\ropm\dist\commands\InstallCommand.js:39:13) {
+ errno: -4071,
+ code: 'EINVAL',
+ syscall: 'spawn'
+} ```
+
+Adding `shell: true` fixes the crash
+
+
+
+# Community Libraries
+
+
+# Formatting
+
+
+# Preview features
+
+
+# Documentation
+
+# Misc
+
+# For Contributors
+
+***
+
+# TODO
+***Move these items to an appropriate section above, then delete this section***
+
+***
+
+# Thank you
+
+Last but certainly not least, a big **_Thank You_** to the following people who contributed this month:
+
+Contributions to [vscode-brightscript-language](https://github.com/RokuCommunity/vscode-brightscript-language):
+
+- [@chrisdp (Christopher Dwyer-Perkins)](https://github.com/chrisdp)
+ - Added AppManager AppMemoryMonitor AppMemoryMonitorEvent coloring ([PR #602](https://github.com/RokuCommunity/vscode-brightscript-language/pull/602))
+ - Potental fix for numeric literal colorization ([PR #603](https://github.com/RokuCommunity/vscode-brightscript-language/pull/603))
+ - Syntax highlighting but for object functions ([PR #604](https://github.com/RokuCommunity/vscode-brightscript-language/pull/604))
+ - Task/new remote commands ([PR #605](https://github.com/RokuCommunity/vscode-brightscript-language/pull/605))
+- [@TwitchBronBron (Bronley Plumb)](https://github.com/TwitchBronBron)
+ - Fix issues with busy spinner showing too many error messages ([PR #607](https://github.com/RokuCommunity/vscode-brightscript-language/pull/607))
+
+Contributions to [brighterscript](https://github.com/RokuCommunity/brighterscript):
+
+- [@TwitchBronBron (Bronley Plumb)](https://github.com/TwitchBronBron)
+ - Add more convenience exports from vscode-languageserver ([PR #1359](https://github.com/RokuCommunity/brighterscript/pull/1359))
+
+Contributions to [roku-deploy](https://github.com/RokuCommunity/roku-deploy):
+
+- [@Christian-Holbrook (Christian-Holbrook)](https://github.com/Christian-Holbrook)
+ - Identify when a 577 error is thrown, send a new developer friendly message ([PR #180](https://github.com/RokuCommunity/roku-deploy/pull/180))
+- [@TwitchBronBron (Bronley Plumb)](https://github.com/TwitchBronBron)
+ - Bump dependencies to remove audit issues ([PR #178](https://github.com/RokuCommunity/roku-deploy/pull/178))
+ - Fix issues with detecting "check for updates required" ([PR #181](https://github.com/RokuCommunity/roku-deploy/pull/181))
+
+Contributions to [roku-debug](https://github.com/RokuCommunity/roku-debug):
+
+- [@Christian-Holbrook (Christian-Holbrook)](https://github.com/Christian-Holbrook)
+ - Add children roSGNode containers ([PR #192](https://github.com/RokuCommunity/roku-debug/pull/192))
+ - Check for two error types. Make sure we do not double display an error ([PR #204](https://github.com/RokuCommunity/roku-debug/pull/204))
+- [@TwitchBronBron (Bronley Plumb)](https://github.com/TwitchBronBron)
+ - Fix cli bug ([PR #201](https://github.com/RokuCommunity/roku-debug/pull/201))
+ - Upgrade dependencies ([PR #202](https://github.com/RokuCommunity/roku-debug/pull/202))
+ - Add the missing `Diagnostic` props to `BSDebugDiagnostic` ([PR #203](https://github.com/RokuCommunity/roku-debug/pull/203))
+
+Contributions to [ropm](https://github.com/RokuCommunity/ropm):
+
+- [@addison-adler (Addison)](https://github.com/addison-adler)
+ - Fix EINVAL crash ([PR #82](https://github.com/RokuCommunity/ropm/pull/82))
+- [@TwitchBronBron (Bronley Plumb)](https://github.com/TwitchBronBron)
+ - Add create-package script ([PR #81](https://github.com/RokuCommunity/ropm/pull/81))
+ - Fixes missing prefixes in .bs and d.bs files for interfaces, enums, and constants ([PR #80](https://github.com/RokuCommunity/ropm/pull/80))
+
+Contributions to [brs](https://github.com/RokuCommunity/brs):
+
+- [@lvcabral (Marcelo Lv Cabral)](https://github.com/lvcabral)
+ - Implemented Optional Chaining Operators ([PR #81](https://github.com/RokuCommunity/brs/pull/81))
\ No newline at end of file