Skip to content

Feature parity with LoopBack 3.x (and the lack of it) #1920

Description

@bajtos

This epic is keeping a track of features that are available in LoopBack 3.x but don't have an easy-to-use alternative in LoopBack 4.x.

See also a loosely related Migration from LoopBack 3.x

Activity

  1. raymondfeng commented on Oct 26, 2018

    @raymondfeng
    Contributor

    A few more features in LB3.x but missing in LB4.x:

    1. A simple way to generate REST APIs for models (datasource + model + controller)
    2. Boot scripts
    3. Middleware
  2. dhmlau commented on Dec 7, 2018

    @dhmlau
    Member

    Hi everyone, we've identified the feature parity gap as listed above and created separate issues in loopback-next repo. We'd like to hear from you about which one you'd like to see first, so that it helps us decide. :)

    How it works

    1. Review the feature parity gap list in the original description of this issue
    2. For the one you'd like to see first, upvote it. Of course, feel free to comment.

    What if my wishlist is not on this list?

    Create a new issue in this repo and put a comment in this issue.

    How do I see which ones are popular requests from the community?

    If everything goes right, we should be able to see it from this query: https://github.com/strongloop/loopback-next/issues?q=is%3Aopen+label%3A%22feature+parity%22+sort%3Areactions-%2B1-desc

    cc @strongloop/loopback-next @strongloop/loopback-maintainers

  3. aharbis commented on Dec 7, 2018

    @aharbis
    Contributor

    Some of the big hitters here that are blocking us from migrating from LB3 to LB4 would be:

    Hope this helps. I'm happy to go into any further detail. The above certainly isn't our full list, but these are the big ones that would keep us from migrating. A lot of the other items we've identified as gaps we could work around while the LB team adds the features.

  4. bajtos commented on Dec 10, 2018

    @bajtos
    MemberAuthor

    @aharbis thank you for the list of things that's blocking your project(s) to migrate to LB4, this is very helpful!

  5. ambrt commented on Dec 11, 2018

    @ambrt

    I'm all for Authentication & Authorization.

  6. bbenejc commented on Dec 11, 2018

    @bbenejc

    For me, the most important ones:

    • HasOne relations
    • Polymorphic relations
    • Authentication
    • Authorization
    • Include related models in query results
  7. yagobski commented on Dec 20, 2018

    @yagobski

    API auto generation was the most powerful feature for LB3 that missing with LB4

  8. pinned this issue on Jan 11, 2019
  9. bajtos commented on Feb 4, 2019

    @bajtos
    MemberAuthor

    API auto generation was the most powerful feature for LB3 that missing with LB4

    FWIW, I believe this is covered by the following two issues:

  10. luisfavila commented on Feb 5, 2019

    @luisfavila

    I was surprised to find juggler's upsert and upsertWithWhere to be missing in LB4 though it could be easily implemented at repository level. Would you like me to implement it in loopback core or should it be left out?

  11. dhmlau commented on Mar 16, 2019

    @dhmlau
    Member

    @bajtos @raymondfeng , do you have any concerns of adding upsert and upsertWithWhere as @luisfavila mentioned? Thanks.

  12. aharbis commented on Apr 3, 2019

    @aharbis
    Contributor

    @bajtos Should #2487 be linked to Polymorphic in the top comment? Is that the best issue to track the Polymorphic feature with?

  13. hazimdikenli commented on May 17, 2019

    @hazimdikenli

    I think Authentication and Authorization are the most important ones, along with fileUploader.

  14. 4 remaining items

  15. csvan commented on Apr 4, 2020

    @csvan

    Like @enceladus , I discovered how gutted lb4 was in terms of features over earlier versions while already committed to a project. I know this is no excuse for not doing adequate research, but I came back to LB after using LB2 (and loving it) on another project some years back. I was not at all prepared for pretty much everything being removed in LB4. I spent a good 5 hours implementing basic auth, only to discover that almost all the built-in relations are gone as well. Implementing them manually comes with its own overhead.

    Only option I see right now to keep the pace with LB is to drop the current implementation and go back to LB3. However, since that is in LTS mode, I would be opting for a dying major version that we need to migrate in the near future anyway. As such, I am unfortunately having to evaluate moving
    to a different solution altogether.

    Seriously, I deeply appreciate your work, but this NEEDS a massive disclaimer right on the front page. "Production ready" is unfortunately simply misleading at this point - LB4 is great but should have been in Beta until parity is achieved.

  16. achrinza commented on Apr 4, 2020

    @achrinza
    Member

    this NEEDS a massive disclaimer somewhere

    @csvan Sorry to hear about your experience. While I can't comment on behalf of the core maintainers, #4466 was meant to resolve @enceladus' issue by adding a disclaimer to the documentation's home page. Unfortunately it seems to not have been suffice.

  17. csvan commented on Apr 4, 2020

    @csvan

    @achrinza I appreciate that and have rephrased my criticism. It may be ugly, but perhaps it would be worth having this warning on the "Getting Started" sections for LB4? Specifically:

    https://loopback.io/getting-started.html

    and

    https://loopback.io/doc/en/lb4/Getting-started.html

    Perhaps display something like

    WARNING: If you have worked with Loopback 2.x or 3.x, please note that Loopback 4.x does not have full feature parity with these, and you may miss functionality included in earlier versions. Please follow #1920 for updates.

  18. raymondfeng commented on Apr 4, 2020

    @raymondfeng
    Contributor

    @csvan Sorry for hearing that you have some pains in implementing LB3 features in LB4. Please check the migration guide at https://loopback.io/doc/en/lb4/migration-overview.html to see some concrete steps/examples.

  19. dougal83 commented on Apr 5, 2020

    @dougal83
    Contributor

    Personally, as it is informational I'd go with the following:

    NOTE: Please be aware that Loopback 4.x is implemented on an entirely new base and therefore does not have full feature parity with previous versions. Please see #1920 to compare the current feature set in relation to Loopback 3.x.

    Although it still relies on people doing their research and reading first though. 👨‍🔬

  20. jusegoram commented on Apr 15, 2020

    @jusegoram

    Just checking if these feature list is updated.

    Interested in knowing if embedOne and emberMany is available in Lb4 and also if there are more resources available for getting into lb4

  21. achrinza commented on Apr 16, 2020

    @achrinza
    Member

    @jseb16 It's updated; the focus right now is more towards improving SQL relations.

  22. jusegoram commented on Apr 19, 2020

    @jusegoram

    Great, it looks really promising.

  23. raman1212 commented on Jun 9, 2020

    @raman1212

    one another thing is we can not use a table with name "my_data" in loopback 4 but can be used in loopback 3 as loopback 4 do not allow model with underscore name.

  24. achrinza commented on Jun 9, 2020

    @achrinza
    Member

    one another thing is we can not use a table with name "my_data" in loopback 4 but can be used in loopback 3 as loopback 4 do not allow model with underscore name.

    Please see https://stackoverflow.com/a/62281311/5019371.

  25. stale commented on Jul 14, 2021

    @stale

    This issue has been marked stale because it has not seen activity within six months. If you believe this to be in error, please contact one of the code owners, listed in the CODEOWNERS file at the top-level of this repository. This issue will be closed within 30 days of being stale.

  26. stale commented on Aug 13, 2021

    @stale

    This issue has been closed due to continued inactivity. Thank you for your understanding. If you believe this to be in error, please contact one of the code owners, listed in the CODEOWNERS file at the top-level of this repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions