Skip to content

Releases: euptron/CodeOps-Studio

v1.1.0

22 Dec 15:18

Choose a tag to compare

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 PaneWindow to 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 CodeEditorPane file functions e.g save-as, reload-file, reload-file with-charset, file statistics, next and previous cursor location movement and lite mode
  • ILog.java to 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.
  • 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 tunedBinaryFileChecker.java detection aggressiveness
  • Foundation laid for future features and systems
  • LiveServer to server both files and directories
  • Internet connectivity check via the IPProvider.java
  • Optimized BinaryFileChecker.java to use weight instead of a majority rule system
  • Optimized CodeEditor Pane to use resources optimally.
  • Optimized BaseFragment.java to handle resources optimally.
  • File rename logic
  • Code editor settings Pin line number sync; in terms which works
  • Relative close depth sync; New configuration is synced in realtime with the Code Editor so
    you don't restart the app to apply the changes.
  • Auto closing brackets sync; New configuration is synced in realtime to the Code Editor so
    you don't restart the app to apply the changes.
  • Close unpinned project panes sync; 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.
  • 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.
  • 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 binding was initialized later i.e after the
      VM observer at GitRepository.java:123
  • Fix: Failure to activate Code Editor pin line number preference

    • 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 window preference is disabled when ever the editor color
      scheme is refreshed the autocomplete window is displayed.
  • Fix: Failure to enable or disable Font ligatures when 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.

Removed

  • Opening and editing files from a removable storage
  • The ast-core library until further notice.
  • PaneUtil.java in favor of PaneWindow.java
  • Template manager
    • Reason: Will be replaced with a more robust, offline-first template system
      intended to support a future community-driven workflow.

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.

Full Changelog: https://github.com/euptron/CodeOps-Studio/commits/v1.1.0

v1.0.2-beta

26 Dec 03:27

Choose a tag to compare

v1.0.2-beta Pre-release
Pre-release

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.java from MainFragment.java
  • Slowly migrating code base to more structural format

Improvements

  • Storage permission management
  • Optimised the ContextLifeCycleObserver.java class to handle URI related task gracefully
  • Optimised LiveServer.java to 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 LiveServer in the WebViewPane.java to an actual solution

    • Summary: Prior to this release when you init the LiveServer 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.
  • 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

  • ArrayOutOfBoundException that 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

13 Sep 20:29
dbbf086

Choose a tag to compare

v1.0.1-beta Pre-release
Pre-release

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 .apk file installation
  • Progress listener for case conversion in the ContextualCodeEditor
  • Support for more symbols auto completions `„ “ « ‚ ‘ ‹

Changes

  • Disable code obfuscation and resource shrinking minifyEnabled and shrinkResources = false because it breaks CodeOps Studio.

Improvements

  • Optimized file tree loading performance and reduced memory usage
  • JavaDoc improvements
  • Refactored Code base
  • Pane class ID generation: shared ID list for all instances of the Pane class
  • Pane class 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 the Device Locale
  • Revamp detection of invalid last opened project before opening
  • Optimized IdeApplication and CrashActivity for handling crash intent
  • Revamped TreeView-TreeNode children sorting comparator
  • Optimised ContextualCodeEditor#toLowerCase(String) and ContextualCodeEditor#toUpperCase(String) method by reducing time complexity from O(n^2) to O(n) that was caused by the string = string + ... reallocation
  • Case conversion by the ContextualCodeEditor is now possible even when ClipBoard limit 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+points against 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#runNonCancelable was not parsed into the editor.
  • Fix: Crash when parsing a string into ReleaseType(String) in ChangelogAdapter due to NullPointerException

    • Summary: App crashed when trying to load saved release notes due on a null object ReleaseType(null) reference in ChangelogAdapter.
  • Fix: Pane Tab duplication. Proguard actually broke the project so it's disabled until further notice.

  • Fix: CodeEditorPane persistency. CodeEditorPane now 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.exists method
  • Fix: Crash due to null Log object in Log.equals() method*

    • Summary: The app crashes with a NullPointerException when the equals() method is invoked on a null Log object in the Log.equals() method. This issue arises during item comparisons in the RecyclerView, particularly when updating the list using AsyncListDiffer in the LogAdapter. The crash often occurs when selecting an unsupported Uri.
    • Resolved Issue#10
    • FCS-ID: 33308dfde6721aa4e51f9010a1f307ea
  • Fix: Crash when accessing a null CircularProgressIndicator in CodeEditorPane.setLoading()

    • Summary: The app crashed due to a NullPointerException when attempting to access a null CircularProgressIndicator in the CodeEditorPane.setLoading() method. This occurred while loading a file, where the progressbar was not properly initialized.
    • Resolved Issue#9
    • FCS-ID: fcc3d4f7d3825fd148be619cf777948b
  • Fix: Crash when accessing null ContextualCodeEditor in CodeEditorPane.canUndo()

    • Summary: The app crashed due to a NullPointerException when attempting to access a null ContextualCodeEditor object in the CodeEditorPane.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
  • Fix: Crash when accessing a null ViewHolder in RecyclerView

    • Summary: App crashed due to a NullPointerException when trying to reference a null ViewHolder in the RecyclerView.
    • Resolved Issue#7
    • FCS-ID: c12fd425b630739a67de5d35ea207be5
  • 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 IllegalStateException when attempting to initialize the JavaScript engine, specifically related to the VMBridge instance creation failure.
    • Resolved Issue#6
    • FCS-ID: 8c42fe20ec460f1f2bb87c206438081f
  • Fix: TreeViewFragment context attachment issue.

    • Summary: App crashed due to an IllegalStateException when attempting to access the fragment's context while it was not attached.
    • Resolved Issue#5
    • FCS-ID: 5665f61e9b837932df3c90422eccb283
  • Fix: ChangeLogFragment null reference issue. ChangeLogFragment now correctly handles null RecyclerView references, preventing crashes when checking if logs are loaded.

    • Summary: App crashed due to a null RecyclerView reference being accessed in the checkIfLoaded() method.
    • Resolved Issue#4
    • FCS-ID: 4dfd5aed0ff4905420e59f5b3b09ce90
  • Fix: NullPointerException when handling back press in SettingsPane due to null Fragment

    • Summary: App crashed because a null Fragment was passed to the equals() method in the isPrimaryNavigation() check.
    • Resolved Issue#3
    • FCS-ID: 516de67b0dd6824a7aec7f8bd411974d
  • Fix: Crash when binding log data in the LogAdapter due to NullPointerException

    • Summary: App crashed when a null CharSequence was passed to the SpannableStringBuilder.append() method in onBindViewHolder()
    • Resolved Issue#2
    • FCS-ID: 50dfb50c980fcffba644e7fa8debbafd
  • Fix: Crash when accessing recent projects in the WelcomePane class due to NullPointerException

    • Summary: App crashed as a result of a null file path being passed to the File.exists method
    • Resolved Issue#1
    • FCS-ID: ba22d747cbd53061443dfc1c7a7698bf

Docs

Full Changelog: v1.0.0...v1.0.1-beta

v1.0.0

10 Jul 09:59
9964809

Choose a tag to compare

v1.0.0 Pre-release
Pre-release

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
  • 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