tag:github.com,2008:https://github.com/euptron/CodeOps-Studio/releasesRelease notes from CodeOps-Studio2025-12-22T14:14:00Ztag:github.com,2008:Repository/823753262/v1.1.02025-12-22T15:18:43Zv1.1.0<h2>Release 1.1.0</h2>
<p><em>22-12-2025</em>(Monday, December 22, 2025)</p>
<h3>Added</h3>
<ul>
<li>Buffer size selection for dynamic IO operations</li>
<li>Facebook page link to <code>Socials</code></li>
<li>Projects created from templates are now added to the recent project list</li>
<li>File system monitoring</li>
<li>Versioning Manager to enforce our Custom SemVer</li>
<li>Onboarding fragment – the first thing a user sees must be nice 🙂</li>
<li>introduced <code>PaneWindow</code> to handle the panes in a decoupled fashion</li>
<li>In-app update system and update handling logic</li>
<li>Theme export utility
<ul>
<li>Allows exporting the currently active application theme to an XML file</li>
</ul>
</li>
<li>Tap detection and measurement system</li>
<li>More <code>CodeEditorPane</code> file functions e.g save-as, reload-file, reload-file with-charset, file statistics, next and previous cursor location movement and lite mode</li>
<li><code>ILog.java</code> to expose the logs sent by Log.java to enhance debugging.</li>
<li>GM3 Color theme exporter to export app theme at runtime</li>
<li>Command-Palette to enhance quick actions and workflows</li>
<li>Debug overlay
<ul>
<li>Activated by long-pressing the top layout for ~3–4 seconds and releasing</li>
</ul>
</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Extensive internal refactoring and restructuring of the codebase</li>
<li>Crashlytics and Analytics are now automatically sent, user can opt out in the setting</li>
<li>Theme system updated to properly support <strong>Dynamic Colors</strong></li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Optimized push notifications with targeting
<ul>
<li>Summary: Push notifications are now more efficient and can be targeted more accurately<br>
to improve delivery and user engagement.</li>
</ul>
</li>
<li>Jump to line dialog to use the Command-Palette</li>
<li>Enforced EdgeToEdge across all supported api versions</li>
<li>Pane system</li>
<li>Overall application stability</li>
<li>Performance and memory usage</li>
<li>Fine tuned<code>BinaryFileChecker.java</code> detection aggressiveness</li>
<li>Foundation laid for future features and systems</li>
<li>LiveServer to server both files and directories</li>
<li>Internet connectivity check via the <code>IPProvider.java</code></li>
<li>Optimized <code>BinaryFileChecker.java</code> to use weight instead of a majority rule system</li>
<li>Optimized <code>CodeEditor Pane</code> to use resources optimally.</li>
<li>Optimized <code>BaseFragment.java</code> to handle resources optimally.</li>
<li>File rename logic</li>
<li>Code editor settings <code>Pin line number</code> sync; in terms which works</li>
<li><code>Relative close depth</code> sync; New configuration is synced in realtime with the <strong>Code Editor</strong> so<br>
you don't restart the app to apply the changes.</li>
<li><code>Auto closing brackets</code> sync; New configuration is synced in realtime to the <strong>Code Editor</strong> so<br>
you don't restart the app to apply the changes.</li>
<li><code>Close unpinned project panes</code> sync; New configuration is synced in realtime so you don't restart<br>
the app to apply the changes.</li>
<li>Generally i've made a lot of improvements i still failed to track.</li>
<li>Release notes support either plane text or html text.</li>
<li>Migrated all pane functionality to <code>PaneWindow.java</code></li>
<li>Storage manager stability and reliability</li>
<li>Memory management across the application</li>
<li>Overall application stability and performance</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Fix: Undo / Redo synchronization issue</p>
<ul>
<li>Summary: Redo operations could not be performed instantly due to editor state<br>
desynchronization. This has been fixed to ensure immediate and consistent redo behavior.</li>
</ul>
</li>
<li>
<p>Numerous undocumented bug fixes</p>
<ul>
<li>Summary: A significant number of issues were resolved during development,<br>
most of which were not individually logged due to their volume.</li>
</ul>
</li>
<li>
<p>Fix: <a href="https://github.com/euptron/CodeOps-Studio/issues">Opened Issues</a></p>
</li>
<li>
<p>Fix: False positives within the <code>BinaryFileChecker</code></p>
</li>
<li>
<p>Fix: Crash on android devices 11 and above due to storage related issues</p>
<ul>
<li>Summary: Crash occurs when user tries to perform file/folder selection</li>
</ul>
</li>
<li>
<p>Fix: Crash on that occurs at certain times when user tries perform the <code>Clone git repository</code><br>
action</p>
<ul>
<li>Summary: This error occurred because the <code>Layout binding</code> was initialized later i.e after the<br>
<strong>VM</strong> observer at <code>GitRepository.java:123</code></li>
</ul>
</li>
<li>
<p>Fix: Failure to activate Code Editor <code>pin line number</code> preference</p>
<ul>
<li>Summary: Logic for this preference to be activated was not implemented</li>
</ul>
</li>
<li>
<p>Fix: Sync error that occurred when refreshing the <strong>Code Editor</strong> color scheme</p>
<ul>
<li>Summary: If the <code>Auto complete window</code> preference is disabled when ever the editor color<br>
scheme is refreshed the autocomplete window is displayed.</li>
</ul>
</li>
<li>
<p>Fix: Failure to enable or disable <code>Font ligatures</code> when the preference is selected</p>
<ul>
<li>Summary: Logic to sync this feature with the <strong>Code Editor</strong> was not implemented</li>
</ul>
</li>
<li>
<p>A lot of bug fixes were made, i only added those which were worth taking note of.</p>
</li>
<li>
<p>Fix: <a href="https://github.com/euptron/CodeOps-Studio/issues/12" data-hovercard-type="issue" data-hovercard-url="/euptron/CodeOps-Studio/issues/12/hovercard">Opened Issues 12</a></p>
</li>
<li>
<p>Fix: <a href="https://github.com/euptron/CodeOps-Studio/issues/7" data-hovercard-type="issue" data-hovercard-url="/euptron/CodeOps-Studio/issues/7/hovercard">Opened Issues 7</a></p>
</li>
<li>
<p>Fix: <a href="https://github.com/euptron/CodeOps-Studio/issues/6" data-hovercard-type="issue" data-hovercard-url="/euptron/CodeOps-Studio/issues/6/hovercard">Opened Issues 6</a></p>
</li>
</ul>
<h3>Security</h3>
<ul>
<li>Secured CodeOps Studio private and sensitive data
<ul>
<li>Summary: Strengthened encryption and protection of sensitive assets across the build,<br>
deployment, and runtime pipeline. This includes safeguarding secrets used in GitHub Actions,<br>
Firebase services, code signing keys, and internal application data to ensure user data<br>
remains private and protected.</li>
</ul>
</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Opening and editing files from a removable storage</li>
<li>The <code>ast-core</code> library until further notice.</li>
<li><code>PaneUtil.java</code> in favor of <code>PaneWindow.java</code></li>
<li>Template manager
<ul>
<li>Reason: Will be replaced with a more robust, offline-first template system<br>
intended to support a future community-driven workflow.</li>
</ul>
</li>
</ul>
<h3>Docs</h3>
<ul>
<li>updated <a href="/euptron/CodeOps-Studio/blob/v1.1.0/README.md">README</a></li>
<li>updated <a href="/euptron/CodeOps-Studio/blob/v1.1.0/CONTRIBUTING.md">CONTRIBUTING</a></li>
<li>Introduced custom versioning system
<ul>
<li>Summary: Implemented a variation of semantic versioning with specific rules for release<br>
tracking and consistency across the project.</li>
</ul>
</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/euptron/CodeOps-Studio/commits/v1.1.0">https://github.com/euptron/CodeOps-Studio/commits/v1.1.0</a></p>euptrontag:github.com,2008:Repository/823753262/v1.0.2-beta2024-12-26T03:27:51Zv1.0.2-beta<h2>Release 1.0.2 beta</h2>
<p><em>26-12-2024</em>(Thursday, Dec 26, 2024)</p>
<h3>Added</h3>
<ul>
<li>Extra symbols for the input panel</li>
<li>The input action MCR, MCL, MCU, MCD are essentially cursor actions where M (Move), C (Cursor), L(Left), R(Right), U(Up), D(Down)</li>
</ul>
<h3>Change</h3>
<ul>
<li>Moved Uri to file conversion from FileUtil to independent class <code>FileUriMediator.java</code></li>
<li>Decoupled storage permission handling to <code>MainActiviy.java</code> from <code>MainFragment.java</code></li>
<li>Slowly migrating code base to more structural format</li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Storage permission management</li>
<li>Optimised the <code>ContextLifeCycleObserver.java</code> class to handle URI related task gracefully</li>
<li>Optimised <code>LiveServer.java</code> to load files optimally.</li>
<li>Optimised case conversion for <code>ContextualCodeEditor.java</code></li>
<li>Generally i've made alot of improvements i failed to track.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Fix: Workaround for loading files via <code>LiveServer</code> in the <code>WebViewPane.java</code> to an actual solution</p>
<ul>
<li>Summary: Prior to this release when you init the <code>LiveServer</code> there is Ui lag due to the blocking operation, workaround was to load portion of the result and wait for the UI to settled before loading the blocking code.</li>
</ul>
</li>
<li>
<p>Fix: Fixed the horrible crash that occurs when you select a file or folder</p>
<ul>
<li>Summary: Prior to this release crashes were alot to often, i found that it mostly occurs on device with higher APIS</li>
</ul>
</li>
<li>
<p>Crash wheh selecting a directory on android devices 11 and above</p>
</li>
<li>
<p><code>ArrayOutOfBoundException</code> that occurs when we split the document id on certain dirs like (emulated root(primary) & document(home)</p>
</li>
<li>
<p>Failure to request storage permission on Android devices 11 and above</p>
</li>
</ul>
<hr>euptrontag:github.com,2008:Repository/823753262/v1.0.1-beta2024-09-13T20:29:26Zv1.0.1-beta<h2>CodeOps Studio release 1.0.1-beta</h2>
<p><em>13-09-2024</em> (Thursday, Sep 13, 2024)</p>
<h3>Added</h3>
<ul>
<li>Option to refresh file tree</li>
<li>AST core module for future Node management</li>
<li>Support for <code>.apk</code> file installation</li>
<li>Progress listener for case conversion in the <code>ContextualCodeEditor</code></li>
<li>Support for more symbols auto completions `„ “ « ‚ ‘ ‹</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Disable code obfuscation and resource shrinking <code>minifyEnabled</code> and <code>shrinkResources</code> <code>= false</code> because it breaks CodeOps Studio.</li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Optimized file tree loading performance and reduced memory usage</li>
<li>JavaDoc improvements</li>
<li>Refactored Code base</li>
<li><code>Pane</code> class ID generation: shared ID list for all instances of the <code>Pane</code> class</li>
<li><code>Pane</code> class ID generation method: <code>Pane#generateUUID()</code></li>
<li>Optimized <code>Wizard#getDeviceCountry(Context)</code> method to retrieve the name of <strong>Country</strong> a device is currently in. Crashlytics now collects the actual <strong>Country Name</strong> instead of the <code>Device Locale</code></li>
<li>Revamp detection of invalid last opened project before opening</li>
<li>Optimized <code>IdeApplication</code> and <code>CrashActivity</code> for handling crash intent</li>
<li>Revamped <code>TreeView-TreeNode</code> children sorting comparator</li>
<li>Optimised <code>ContextualCodeEditor#toLowerCase(String)</code> and <code>ContextualCodeEditor#toUpperCase(String)</code> method by reducing time complexity from O(n^2) to O(n) that was caused by the <code>string = string + ...</code> reallocation</li>
<li>Case conversion by the <code>ContextualCodeEditor</code> is now possible even when <code>ClipBoard</code> limit is exceeded</li>
<li>Optimized line text duplication by the <code>CodeEditor</code></li>
<li>Optimized binary file detection, before a file is flagged as binary we compare how many times it has been flagged as a binary across multiple <code>check+points</code> against how many times it didn't, making the whole process more effective.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Fix: Case conversion failure.</p>
<ul>
<li>Summary: Case conversion failed because the result from the <code>AsyncTask#runNonCancelable</code> was not parsed into the editor.</li>
</ul>
</li>
<li>
<p>Fix: Crash when parsing a string into <code>ReleaseType(String)</code> in ChangelogAdapter due to <code>NullPointerException</code></p>
<ul>
<li>Summary: App crashed when trying to load saved release notes due on a null object <code>ReleaseType(null)</code> reference in ChangelogAdapter.</li>
</ul>
</li>
<li>
<p>Fix: Pane Tab duplication. Proguard actually broke the project so it's disabled until further notice.</p>
</li>
<li>
<p>Fix: <code>CodeEditorPane</code> persistency. <code>CodeEditorPane</code> now loads persisted arguments and restores them accordingly without text content history</p>
</li>
<li>
<p>Fix: Failure to properly detect invalid projects when loading the last opened project.</p>
<ul>
<li>Summary: App crashed as a result of a null file path being passed to the <code>File.exists</code> method</li>
</ul>
</li>
<li>
<p>Fix: Crash due to null <code>Log</code> object in <code>Log.equals()</code> method*</p>
<ul>
<li>Summary: The app crashes with a <code>NullPointerException</code> when the <code>equals()</code> method is invoked on a null <code>Log</code> object in the <code>Log.equals()</code> method. This issue arises during item comparisons in the <code>RecyclerView</code>, particularly when updating the list using <code>AsyncListDiffer</code> in the <code>LogAdapter</code>. The crash often occurs when selecting an unsupported <code>Uri</code>.</li>
<li><a href="https://github.com/euptron/CodeOps-Studio/issues/10" data-hovercard-type="issue" data-hovercard-url="/euptron/CodeOps-Studio/issues/10/hovercard">Resolved Issue#10</a></li>
<li>FCS-ID: <code>33308dfde6721aa4e51f9010a1f307ea</code></li>
</ul>
</li>
<li>
<p>Fix: Crash when accessing a null <code>CircularProgressIndicator</code> in <code>CodeEditorPane.setLoading()</code></p>
<ul>
<li>Summary: The app crashed due to a <code>NullPointerException</code> when attempting to access a null <code>CircularProgressIndicator</code> in the <code>CodeEditorPane.setLoading()</code> method. This occurred while loading a file, where the <code>progressbar</code> was not properly initialized.</li>
<li><a href="https://github.com/euptron/CodeOps-Studio/issues/9" data-hovercard-type="issue" data-hovercard-url="/euptron/CodeOps-Studio/issues/9/hovercard">Resolved Issue#9</a></li>
<li>FCS-ID: <code>fcc3d4f7d3825fd148be619cf777948b</code></li>
</ul>
</li>
<li>
<p>Fix: Crash when accessing null <code>ContextualCodeEditor</code> in <code>CodeEditorPane.canUndo()</code></p>
<ul>
<li>Summary: The app crashed due to a <code>NullPointerException</code> when attempting to access a null <code>ContextualCodeEditor</code> object in the <code>CodeEditorPane.canUndo()</code> method. This occurred during the preparation of the toolbar options menu when the undo state was being checked.</li>
<li><a href="https://github.com/euptron/CodeOps-Studio/issues/8" data-hovercard-type="issue" data-hovercard-url="/euptron/CodeOps-Studio/issues/8/hovercard">Resolved Issue#8</a></li>
<li>FCS-ID: <code>c6f4d617cc63acaa3fe262dbb1e948ca</code></li>
</ul>
</li>
<li>
<p>Fix: Crash when accessing a null <code>ViewHolder</code> in <code>RecyclerView</code></p>
<ul>
<li>Summary: App crashed due to a <code>NullPointerException</code> when trying to reference a null <code>ViewHolder</code> in the <code>RecyclerView</code>.</li>
<li><a href="https://github.com/euptron/CodeOps-Studio/issues/7" data-hovercard-type="issue" data-hovercard-url="/euptron/CodeOps-Studio/issues/7/hovercard">Resolved Issue#7</a></li>
<li>FCS-ID: <code>c12fd425b630739a67de5d35ea207be5</code></li>
</ul>
</li>
<li>
<p>Fix: JavaScript engine initialization failure. The issue was due to a failure in creating the VMBridge instance, and further investigation is needed to resolve the underlying problem.</p>
<ul>
<li>Summary: App crashed due to an <code>IllegalStateException</code> when attempting to initialize the JavaScript engine, specifically related to the VMBridge instance creation failure.</li>
<li><a href="https://github.com/euptron/CodeOps-Studio/issues/6" data-hovercard-type="issue" data-hovercard-url="/euptron/CodeOps-Studio/issues/6/hovercard">Resolved Issue#6</a></li>
<li>FCS-ID: <code>8c42fe20ec460f1f2bb87c206438081f</code></li>
</ul>
</li>
<li>
<p>Fix: <code>TreeViewFragment</code> context attachment issue.</p>
<ul>
<li>Summary: App crashed due to an <code>IllegalStateException</code> when attempting to access the fragment's context while it was not attached.</li>
<li><a href="https://github.com/euptron/CodeOps-Studio/issues/5" data-hovercard-type="issue" data-hovercard-url="/euptron/CodeOps-Studio/issues/5/hovercard">Resolved Issue#5</a></li>
<li>FCS-ID: <code>5665f61e9b837932df3c90422eccb283</code></li>
</ul>
</li>
<li>
<p>Fix: <code>ChangeLogFragment</code> null reference issue. <code>ChangeLogFragment</code> now correctly handles null <code>RecyclerView</code> references, preventing crashes when checking if logs are loaded.</p>
<ul>
<li>Summary: App crashed due to a null <code>RecyclerView</code> reference being accessed in the <code>checkIfLoaded()</code> method.</li>
<li><a href="https://github.com/euptron/CodeOps-Studio/issues/4" data-hovercard-type="issue" data-hovercard-url="/euptron/CodeOps-Studio/issues/4/hovercard">Resolved Issue#4</a></li>
<li>FCS-ID: <code>4dfd5aed0ff4905420e59f5b3b09ce90</code></li>
</ul>
</li>
<li>
<p>Fix: <code>NullPointerException</code> when handling back press in <code>SettingsPane</code> due to null <code>Fragment</code></p>
<ul>
<li>Summary: App crashed because a null <code>Fragment</code> was passed to the <code>equals()</code> method in the <code>isPrimaryNavigation()</code> check.</li>
<li><a href="https://github.com/euptron/CodeOps-Studio/issues/3" data-hovercard-type="issue" data-hovercard-url="/euptron/CodeOps-Studio/issues/3/hovercard">Resolved Issue#3</a></li>
<li>FCS-ID: <code>516de67b0dd6824a7aec7f8bd411974d</code></li>
</ul>
</li>
<li>
<p>Fix: Crash when binding log data in the <code>LogAdapter</code> due to <code>NullPointerException</code></p>
<ul>
<li>Summary: App crashed when a null <code>CharSequence</code> was passed to the <code>SpannableStringBuilder.append()</code> method in <code>onBindViewHolder()</code></li>
<li><a href="https://github.com/euptron/CodeOps-Studio/issues/2" data-hovercard-type="issue" data-hovercard-url="/euptron/CodeOps-Studio/issues/2/hovercard">Resolved Issue#2</a></li>
<li>FCS-ID: <code>50dfb50c980fcffba644e7fa8debbafd</code></li>
</ul>
</li>
<li>
<p>Fix: Crash when accessing recent projects in the <code>WelcomePane</code> class due to <code>NullPointerException</code></p>
<ul>
<li>Summary: App crashed as a result of a null file path being passed to the <code>File.exists</code> method</li>
<li><a href="https://github.com/euptron/CodeOps-Studio/issues/1" data-hovercard-type="issue" data-hovercard-url="/euptron/CodeOps-Studio/issues/1/hovercard">Resolved Issue#1</a></li>
<li>FCS-ID: <code>ba22d747cbd53061443dfc1c7a7698bf</code></li>
</ul>
</li>
</ul>
<h3>Docs</h3>
<ul>
<li>Improved <a href="/euptron/CodeOps-Studio/blob/v1.0.1-beta/README.md">README</a></li>
<li>Improved <a href="/euptron/CodeOps-Studio/blob/v1.0.1-beta/CONTRIBUTING.md">CONTRIBUTING</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/euptron/CodeOps-Studio/compare/v1.0.0...v1.0.1-beta"><tt>v1.0.0...v1.0.1-beta</tt></a></p>euptrontag:github.com,2008:Repository/823753262/v1.0.02024-09-13T20:30:26Zv1.0.0<h1>CodeOps Studio</h1>
<p>Welcome to the official release of CodeOps Studio v1.0.0! We are excited to present this production-ready version, packed with enhancements, bug fixes, and new features designed to provide a seamless and efficient coding experience.</p>
<h3>New Features</h3>
<ul>
<li>
<p><strong>Git Integration</strong></p>
<ul>
<li>Effortlessly clone repositories with built-in Git support.</li>
</ul>
</li>
<li>
<p><strong>Intuitive Navigation</strong></p>
<ul>
<li>Navigate your projects seamlessly with breadcrumb navigation.</li>
</ul>
</li>
<li>
<p><strong>Multi-Language Syntax Highlighting</strong></p>
<ul>
<li>Enjoy syntax highlighting for over 50 programming languages.</li>
</ul>
</li>
<li>
<p><strong>Customizable Code Editor</strong></p>
<ul>
<li>Tailor the code editor to your preferences for a personalized workflow.</li>
</ul>
</li>
<li>
<p><strong>Persistent Panes</strong></p>
<ul>
<li>Maintain your workspace layout with persistable panes.</li>
</ul>
</li>
<li>
<p><strong>Project Import</strong></p>
<ul>
<li>Easily import existing projects into CodeOps Studio.</li>
</ul>
</li>
<li>
<p><strong>Comprehensive File Tree Explorer</strong></p>
<ul>
<li>Efficiently manage your files with an intuitive file tree explorer.</li>
</ul>
</li>
<li>
<p><strong>Multi-Pane Layout</strong></p>
<ul>
<li>Utilize a multi-pane layout on devices with a minimum screen width of 600dp.</li>
</ul>
</li>
<li>
<p><strong>Live Preview</strong></p>
<ul>
<li>Preview your websites live from various network sources:
<ul>
<li>Remote</li>
<li>Local host</li>
<li>Hotspot</li>
<li>Internet</li>
</ul>
</li>
</ul>
</li>
<li>
<p><strong>Project Templates</strong></p>
<ul>
<li>Kickstart your development with ready-to-use project templates.</li>
</ul>
</li>
<li>
<p><strong>Material You Support</strong></p>
<ul>
<li>Experience a visually cohesive interface with Material You integration.</li>
</ul>
</li>
<li>
<p><strong>JavaScript Console</strong></p>
<ul>
<li>Debug and interact with your JavaScript code in real-time.</li>
</ul>
</li>
<li>
<p><strong>Advanced Code Editor Features</strong></p>
<ul>
<li>Jump to specific lines and use the search panel for efficient coding.</li>
<li>Highly customizable code editor settings to suit your needs.</li>
</ul>
</li>
<li>
<p><strong>Monetization Options</strong></p>
<ul>
<li>Integrate Google AdMob for monetization.</li>
</ul>
</li>
</ul>
<h3>Improvements</h3>
<ul>
<li>
<p><strong>Enhanced User Interface</strong></p>
<ul>
<li>Refined UI elements for a more intuitive and enjoyable user experience.</li>
</ul>
</li>
<li>
<p><strong>Optimized Performance</strong></p>
<ul>
<li>Improved application performance and reduced loading times.</li>
</ul>
</li>
<li>
<p><strong>Expanded Language Support</strong></p>
<ul>
<li>Added syntax highlighting for additional programming languages.</li>
</ul>
</li>
<li>
<p><strong>Better File Management</strong></p>
<ul>
<li>Enhanced file management capabilities for smoother project handling.</li>
</ul>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p><strong>Resolved Navigation Issues</strong></p>
<ul>
<li>Fixed breadcrumb navigation bugs for seamless project exploration.</li>
</ul>
</li>
<li>
<p><strong>Stability Enhancements</strong></p>
<ul>
<li>Addressed various stability issues to ensure a more reliable coding environment.</li>
</ul>
</li>
<li>
<p><strong>Fixed Live Preview Bugs</strong></p>
<ul>
<li>Corrected issues with live preview functionality across different network sources.</li>
</ul>
</li>
<li>
<p><strong>Editor Customization Fixes</strong></p>
<ul>
<li>Resolved bugs related to editor customization settings.</li>
</ul>
</li>
</ul>
<hr>
<p>We're thrilled to bring you this production-ready release of CodeOps Studio and look forward to your feedback and suggestions. Thank you for being a part of our community!</p>
<p><strong>Full Changelog</strong>: <a href="https://github.com/etidoUP/CodeOps-Studio/commits/v1.0.0">https://github.com/etidoUP/CodeOps-Studio/commits/v1.0.0</a></p>euptron