Skip to content

Latest commit

 

History

History
211 lines (155 loc) · 11.7 KB

CHANGELOG.md

File metadata and controls

211 lines (155 loc) · 11.7 KB

Change Log

All notable changes to this project will be documented in this file, this project uses semantic versioning 2.0.0 spec in the format major.minor.patch(-prerelease)(+buildmetadata).

TAGS

  • Added: New features
  • Changes: Changes in existing functionality
  • Deprecated: Soon-to-be removed features
  • Removed: Now removed features
  • Fixed: Bug fixes
  • Security: Vulnerabilities
  • Docs: Documentation updates
  • Contributors: Release contributors
  • FSC-ID: Firebase Crashlytics Issue ID

Release 1.0.3 beta

09-03-2025(Sunday, Mar 9, 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

Changes

  • Moved some pane window functionality from BaseFragment.java to PaneUtil.java
  • Removed support for editing removeable storage volume:
    • I'm working on a dual state file system API MetaDocument.java that uses both File and Document API'
  • Updated inline copyright within all supported file type, ps: it's a new year
  • Disable auto-rotate until i figure out how to stop code editor pane duplication

Improvements

  • Optmised BinaryFileChecker.java to use weight instead of a majority rule system
  • Optmised CodeEditor Pane to use resources optimally.
  • Optmised 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 alot of improvements i still failed to track.
  • Release notes support either plane text or html text.

Fixed

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

    • Summary: Logic for this perference 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
  • Alot of bug fixes were made, i only added those which were worth taking note of.

Removed

  • Opening and editing files from a removeable storage

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

Release 1.0.1 beta

13-09-2024 (Thursday, Sep 13, 2024)

Added

  • Option to refresh file tree
  • AST core module for future Node managment
  • 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