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