In your place I will use version 5.8 without hesitation
Which version of Laravel for a fresh new project?
Hello, this week I'm going to start a new project (for the company I work for), and I'll be, of course, using Laravel. I wanted to know which version do you suggest me to use?
I'm inclined to use v5.7 as it's mature, but I see that its support will stop by august of this year. And in the mean time, I really don't like to use extremely fresh new versions for production, i.e. v5.8.
My website will be in production by the start of June. Do you consider that v5.8 will be as mature as v5.7 at this time? even if it needs some patches regularly this is not a problem for me.
I would say the same as @bestmomo. Laravel 5.8 is just an improved version of laravel 5.7 with the latest bug fixes, and features , so you don't need to worry. Quoting from https://laravel-news.com/laravel-5-8 :
-
With today’s release, Laravel 5.7 will no longer receive feature bug fixes and updates. However, 5.7 will receive security updates until August 2019.
-
Laravel 5.8 is the latest stable version and will receive bug fixes and updates until approximately August 2019 and security fixes until about February
Another way to answer is:
This is a Laravel forum where people promote the "latest".
So what do you think replies were going to be.
Version 4.2. Nah just kidding.
@JLRDW - "Users promote the latest" is not what I expect. I expect a "professional" response to a professional user as we are accostumed to on StackOverflow or other serious forums.
Sorry, I'm new user of Laravel and I don't know quite well the laravel community. It clearly looks like the Laravel community is very dynamic and very enthousiastic, but I certainly hate "emotionally charged" answers.
I tend to start with the most current version (of anything - not just Laravel), with a few caveats. It's generally easier to upgrade if you start with the newest and keep on top of it, and has the latest code and security fixes. I'd rather start on 5.8 than start on 5.7 and have to upgrade it, which you'll most likely eventually do. Changes between 5.x to 5.x+1 are usually a lot more radical than minor version bumps (5.x.xx -> 5.x.xx+1), which takes longer to implement if you have a large codebase.
That being said, I like the new bugs to get worked out before hopping on a brand new 5.x.0 release. Usually the following weeks have a number of fixes, so it's easier to wait until 5.x.xx and knowing most of the smaller kinks have been worked out. Then again, if I'm just starting, it's typically not a big deal to upgrade minor versions. It's a tradeoff you'd have to research on a project by project basis (what's the newest versions available, how new is it, how long does it take to upgrade (looking at upgrade guides). Most minor upgrades don't really require any code changes and the ones that do are usually pretty trivial, compared to 5.7 to 5.8 upgrade.
For instance, here are all of the steps you'd need to do if you started on 5.7 and eventually upgraded to 5.8: https://laravel.com/docs/5.8/upgrade
That's a lot more work than just starting on the current version and upgrading as newer minor releases come out. How much time do you have to dedicate to upgrades? Is that something you even want to spend time on during the development phase?
@octal A professional reply usually most Enterprise and state governments are not going to use the latest thing, they lag back a couple versions to ensure the latest version is bug free.
Please do not believe me you can check with the state of Texas for yourself.
So if you go by Enterprise rules then version 5.7.
Good to know if the contract is with the State of Texas. I've done gov't work too, and didn't have that exact restriction...so ymmv. Obviously it's up to the restrictions of the actual job you're doing or company you're working for, but OP wasn't asking about gov't contracts or "Enterprise" and was asking a general question. Of course we can find nitpicks about things that weren't asked.
The situation is that I'm going to create a portal to let users access information related to special devices we make in our company. We are a small startup and we don't have any constraint as for the choice. The main constraint I have in my mind are those I learnt from about 15 years of development, this is why I'm asking. I almost never use latest version until I got forced to.
I effectively studied the new features of v5.8 but didn't saw the "upgrade guide" mentioned by Cronix (thanks very much btw). Effectively, upgrading from v5.7 to v5.8 may take time that I'm not inclined to dedicate to such operation. I prefer to use v5.8 and spend more time on small fixes. My website will be in very restricted usage on June, and in mass usage by the end of the year, so I think it would be wise to use v5.8 directly, as at that time, v5.7 will no more be maintained.
Which version of Laravel for a fresh new project?
As a professional of course you already realize to use the latest version if experimenting and testing.
And of course you already know to use the version that is safe and bug free for a client.
If that fresh new project is to play and experiment and test out laravel, then 5.8.
And of course as a professional you check with GitHub to see the status and issues on the last two versions.
So of course with all that professional stuff going on technically you already know which version to use depending on the project.
I can see that v5.8 is not that much different from v5.7 (from architectural point of view), and by the end of this year, I think v5.8 will be almost as stable/safe as actual v5.7.
I'll go for v5.8
Are you pretty good on using laravel already.
I'm not a specialist, I'm new to Laravel, but I have good experience with Symfony, and I watched all videos about laravel 5.7 (and took a numerous notes), and I can't see something blocking.
I started making wy website, and I already have users authorizations working, routing of main 5 forms already working, 6 models already handled with their controllers, eloquent relations and forms. I need to tweek my forms (I need to inject our company special web assets like log, header, check responsivness of the design on small devices, ...).
I need to add notifications and events management (mainly mail alerts on special cases). I also need to learn and create scheduled tasks to interact with a partner services (I mainly need to learn how security and auth works in this case).
That's it :)
Only reason I asked is I did not know how new you were. There are folks that have example apps on Github such as https://github.com/bestmomo/laravel5-5-example
Didn't know if it would help or not. Of course you already know the video lessons have code on Github as well.
But it sound's as though you are pretty advanced already.
Just remember laravel has a lot, you are not bound to using the suggested things. I.e., You don't have to use Vue, you can use React or any JS with laravel. I still use Jquery.
@JLRDW - I also still use JQuery+Bootstrap only. With blade templates, I learnt a bit of Vue.js but never used it for effective project. I use TDD for all my developments, and since I'm not yet up to do that correctly on Vue.js. For long term projects, TDD is really mandatory if you want to keep control on the sanity of your project, especially when you work with a very small team (2 or 3 developpers only).
As for Laravel, while I already figure out the global architecture and how most parts fits, as usually the devil is in the details. I'm still reading actively each part of the documentation, and I'll order the new edition of the book Laravel Up and Running (will be effectively available in few weeks from amazon).
btw, thank you for the links. I'll check the sources. Effectively I'm new to Larvel world and community and I'm not aware fo most codes and examples repositories. Thanks again.
@octal also note that the regular docs are only the most commonly used functions. There are tons of functions that aren't in the regular docs, that are in the api docs. Look in the "prologue" section in the upper left of the regular docs to get to the api docs. Most people never read that and are unaware of the rest of the features. It's not as glamorous as the regular docs (no examples, etc), but no one has time to completely document all of that stuff. They're just straight up "api" docs.
Another good way to learn it (and understand how everything fits together and is used) is to actually go through all of the source code. It's very well self-documented. Not just "laravel", but also the "illuminate" framework that it's built on top of (in /vendor/Laravel/Framework). A lof of laravel (Illuminate) is extending symfony base classes, so most of those docs aren't in the regular or api docs either and you'd need to look at the symfony docs for that particular package.
Thank you for all those notes. I'll for sure check the API. I'm used to check mainly the source codes and as you mentioned it, they are really very well self documented. But as any other framework, it takes time to get used to use most of its features.
5.8 is only a small variation on 5.7 but it does contain some breaking changes meaning it needs to be bumped. 5.7 is up to about 5.7.28 and at this stage many of the changes are really obscure bug fixes and new features.
One consideration is if you need to pull in any specific packages. If they are not yet upgraded to 5.8 compatibility you might find yourself with a dependency issue.
Regarding the 'quality' of 5.8, I would have no hestitation in using it for a new project, especially if this is not going live for a few months.
Upgrading a production system to 5.8.2 is not something to be done lightly... however I did it today!
@SNAPEY - 'bout' time you give an answer here.
@jlrdw sometimes my being opinionated and busy are in conflict. ;-)
laravel 5.8 is best , you just use this comand promt
composer create-project --prefer-dist laravel/laravel blog
here blog name depend on what's project name you want o use folder name
What version is best now 6.4? I thought 6.0 is best but I got 6.4. Total mess.
9 updates of version 6. For me this is complete unacceptable.
@rsvb what are you on about?
@rsvb You want things to stand still and no new features added?
@rsvb I'd go with version 6.* as of now since it's a long-term support version.
Note that you don't have to constantly update all the time but do check for security updates.
All of this updating in Frameworks is something newer over the last few years, all this updating so often used to not be necessary.
An old Java ee version for example was good to go for quite some time.
But if you stay updated it's so much easier than going from 5.5 to 6 for example.
5.8 to 6 was very easy.
I thought 6.0.* is long term support, but something changed with the version numbering?
6.* is the right one?
@Snapey PHP is good version control. Laravel is silly.
Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.
I sweat already with the proper version number.
@rsvb Laravel has moved to Semantic Versioning see https://semver.org/ If this is what you are thinking about.
What's your fear about just installing the latest version?
Please or to participate in this conversation.