Prev version, perhaps rollback?

100% agree, as I mentioned in a separate post this update is detrimental to productivity and I will be cancelling my subscription if it is not fixed. The lack of the composer popup window, replacing VSCode native shortcuts, janky suggestions are just the tip of the iceberg.

I have seen many updates. I have used many programs and services. But I have never seen such an illogical update. You have ruined everything that made me use Cursor. Please urgently provide users with a method to revert to the old version.

I really love Cursor and have built my workflow around it. The previous version worked almost perfectly. I managed to roll back, thanks to advice from another user who suggested downloading the installer via incognito mode. I can confirm everything works again just like before.

Please, give us the option to disable updates—or even better, roll back this update entirely. It simply doesn’t work! In the new version, I tried asking basic questions about the contents of another file using @, and Cursor just couldn’t handle it. It’s like it went blind.

I’m begging you: prioritize stability over new features. I rely on your product, and it’s crucial for me to trust that it will keep working well and that I won’t have to fear updating to a new version.

Thank you!

Cline gets better and better, though quite costly since it seems to use increasingly massive token amount now

1,4 million token after 7 prompts and just 400 lines of code as starting point

Cursor was so far the best option out there, lets see if they revert the changes

For those who’d like to downgrade, here are links!

https://forum.cursor.com/t/0-42-5-build-links/30521/2

We’ll be adding a downloads page shortly that will give access to all prior builds with the ability to turn off auto-update going forward.

Thank you truell

And really appreciate all your feedback here. I and the other devs are reading and trying to reproduce. Anything you can do to be specific about issues is much very much appreciated. Certainly want to fix whatever is going on.

I downloaded the previous version of Cursor, and everything has been working smoothly again. Phew, I’ve been at least 90% more productive today compared to yesterday.

Now I’m a bit nervous because Cursor might forcefully update itself to the newer version. Well, luckily, I have the installation package for the older version saved now.

Specific issues:

  1. cursor composer history randomly switches between different composer windows
  2. composer code advise used to look at my current code and add code within it, new version just tries to add new files and link them back, or adds new blocks of code that break it, or suggests removing all code.
  3. composer seems to be offering very poor suggestions
  4. new composer window makes it difficult to see inline code changes

How do we stop Cursor from automatically forcing us to upgrade? I’ve had to downgrade three times now.

Oh thank god.

Will there be a way to disable automatic updates for previous versions though? Or will that only be an option for new versions?

there’s also a new bug when cursor provides Supabase queries, it cuts of the first character of each new line…

Ack! What version are you on?

Could you paste a screenshot or a recording of you scrolling through an example here?

43.4

Could you send a screenshot here? Apologies and would be very helpful for getting to the bottom of this

I’ll have to wait til they appear again. These are removed from my history bc i tried downgrading yesterday. Unfortunately, it upgraded me automatically.

Here is an example from 11/25/24 with the first characters cut off:

– Drop existing objects first
ROP TRIGGER IF EXISTS on_user_deleted ON auth.users;
ROP FUNCTION IF EXISTS handle_user_deletion();
– Create function to handle user data cleanup with proper error handling
REATE OR REPLACE FUNCTION handle_user_deletion()
ETURNS TRIGGER
ANGUAGE plpgsql
ECURITY DEFINER
ET search_path = public
S $$
ECLARE
_debug_info jsonb;
EGIN
– Store debug info for logging
_debug_info := jsonb_build_object(
‘user_id’, OLD.id,
‘timestamp’, NOW(),
‘action’, ‘delete_user_data’
);
BEGIN
– Delete user’s decks and related data
DELETE FROM public.flashcards
WHERE deck_id IN (
SELECT id FROM public.decks WHERE user_id = OLD.id
);

   DELETE FROM public.deck_settings 
   WHERE deck_id IN (
       SELECT id FROM public.decks WHERE user_id = OLD.id
   );
   
   DELETE FROM public.decks 
   WHERE user_id = OLD.id;
    -- Delete user's flashcard data
   DELETE FROM public.flashcard_feedback 
   WHERE user_id = OLD.id;
   
   DELETE FROM public.spaced_repetition_schedule 
   WHERE user_id = OLD.id;
    -- Delete user's YouTube related data
   DELETE FROM public.youtube_videos 
   WHERE user_id = OLD.id;
   
   DELETE FROM public.youtube_videos_backup 
   WHERE user_id = OLD.id;
    -- Delete user's analytics and settings
   DELETE FROM public.analytics_events 
   WHERE user_id = OLD.id;
   
   DELETE FROM public.user_settings 
   WHERE user_id = OLD.id;
    -- Delete user's profile
   DELETE FROM public.profiles 
   WHERE id = OLD.id;
    RAISE NOTICE 'Successfully cleaned up user data: %', _debug_info;

EXCEPTION
WHEN OTHERS THEN
_debug_info := _debug_info || jsonb_build_object(
‘error’, SQLERRM,
‘error_detail’, SQLSTATE,
‘error_hint’, pg_exception_detail(),
‘failed_at’, NOW()
);
RAISE WARNING ‘Error cleaning up user data: %’, _debug_info;

       -- Insert error into analytics for monitoring
       INSERT INTO public.analytics_events (
           event_name,
           user_id,
           properties
       ) VALUES (
           'account_deletion_error',
           OLD.id,
           _debug_info
       );
       
       RETURN OLD;

END;
– Log successful deletion
INSERT INTO public.analytics_events (
event_name,
properties
) VALUES (
‘account_deleted’,
jsonb_build_object(
‘user_id’, OLD.id,
‘timestamp’, NOW(),
‘success’, true
)
);
RETURN OLD;
ND;
$;
– Create trigger for user deletion
REATE TRIGGER on_user_deleted
BEFORE DELETE ON auth.users
FOR EACH ROW
EXECUTE FUNCTION handle_user_deletion();
– Grant necessary permissions
RANT USAGE ON SCHEMA auth TO service_role;
RANT SELECT, DELETE ON auth.users TO service_role;
RANT EXECUTE ON FUNCTION handle_user_deletion() TO service_role;
– Create RPC function for client-side deletion
REATE OR REPLACE FUNCTION delete_user_account()
ETURNS void
ANGUAGE plpgsql
ECURITY DEFINER
ET search_path = public
S $$
EGIN
– Verify user is authenticated
IF auth.uid() IS NULL THEN
RAISE EXCEPTION ‘Not authenticated’;
END IF;
– Delete the user from auth.users which will trigger the cleanup
DELETE FROM auth.users
WHERE id = auth.uid();
ND;
$;
– Grant RPC execution permission
RANT EXECUTE ON FUNCTION delete_user_account() TO authenticated;
– Add policy for user deletion
ROP POLICY IF EXISTS “Users can delete their own account” ON auth.users;
REATE POLICY “Users can delete their own account”
ON auth.users
FOR DELETE
TO authenticated
USING (id = auth.uid());

I created a cursorrule as a temp workaround, but it doesn’t always remember.

"due to a recent bug with writing SQL, please add an extra indentation to every new line to prevent a bug that causes the first character of every new line to be missed
"

Is this still happening? It should be fixed after 0.43.4

Hard to say. I put a fix for it in my .cursorrules that was fairly effective at preventing it.

It was also requested to see an image of Cursor trying to delete everything. Here you go: